首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的ssh公钥身份验证只适用于并发密码认证连接?

为什么我的ssh公钥身份验证只适用于并发密码认证连接?
EN

Server Fault用户
提问于 2010-08-17 03:17:51
回答 4查看 4.7K关注 0票数 2

我刚用openssh服务器安装了一个普通的ubuntu透明(10.04)系统。我正在尝试设置公开密钥身份验证,只有当我首先使用密码身份验证连接并保持该会话处于打开状态时,它才能起作用。所有新的并发会话都将与公钥一起工作。

我已经采取了所有步骤来确保我的服务器端主目录上有正确的权限。

代码语言:javascript
复制
chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

我的客户端RSA 2048位公钥被追加到authorized_keys文件中(仅一行)。我的RSA密钥也有空密码。

我很困惑是什么导致了这一切。我知道这一定是我的服务器配置的问题。我听说过,如果配置“不够安全”,不允许公开密钥身份验证,但我不知道这可能是什么。

代码语言:javascript
复制
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile    %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

其余的都是默认的。PublicKey可以工作,但不适用于第一次会话。

提前感谢!

EN

回答 4

Server Fault用户

回答已采纳

发布于 2010-08-18 17:21:06

如果您有一个加密的主目录,Ubuntu使用EcryptFS的方式,那么这将解释您正在经历的事情。在您进行了第一次密码登录之后,您的~/..ssh/特授权密钥第一次就可用了。

允许ssh键直接登录的一种方法是在主目录之外指定AuthorizedKeysFile。这可以通过在路径中使用%u (用户)而不是%h (主目录)来完成。另一种选择是将~/..ssh/authorized_keys的副本放到主目录的“卸载”版本中。这就是放置在EcryptFS挂载下面的内容。

然而,不确定这些解决方案中的任何一个对你有多大的好处。您仍然需要(某种程度上)使用您的密码登录,才能访问您的常规主目录。它是您的用户密码,用于解压缩安装/解密您的EcryptFS主目录所需的密码。是的,您仍然可以手动挂载/解密,但这似乎是另一个问题。

票数 3
EN

Server Fault用户

发布于 2010-08-17 09:28:32

我的猜测是,一旦您使用密码身份验证进行记录,它就会工作,因为在客户端,您已经设置了ControlMaster/ControlPath,这允许在后续连接中重用连接。

尝试通过将LogLevel设置为DEBUG3来提高服务器端的日志级别,并挖掘日志(/var/ log /auth.log)以查看发生了什么。

在客户端,将-vvv添加到ssh命令行,以查看客户端正在使用哪些键。

有了这两种信息,你应该能够弄清楚是什么在增长。

票数 1
EN

Server Fault用户

发布于 2010-08-17 08:42:24

您的authorized_keys文件需要驻留在.ssh文件夹中,并且它应该具有644个权限。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/171240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档