ssh 公钥不起作用

ssh 公钥不起作用

更新:我通过简单的重启解决了这个奇怪的问题sshd。但是,我仍然想知道为什么,因为自服务器启动以来我没有更改任何配置。

我有 2 台服务器,一台安装了 CentOS 5,另一台安装了 CentOS 6。publickeyssh在 CentOS 5 上运行良好,但在 CentOS 6 上不起作用。我确认了.ssh目录的权限,没有问题。

[root@localhost ~]# ls -Z .ssh/
drwxr-xr-x. root root unconfined_u:object_r:ssh_home_t:s0 .
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 ..
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 authorized_keys
-rw-------. root root unconfined_u:object_r:ssh_home_t:s0 id_rsa
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 id_rsa.pub
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 known_hosts

更新:我尝试了几种权限,包括 的 600、644authorized_keys和 的 700、755 .ssh/,但都不起作用。

ssh -vvv给出这些消息

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/zuohaocheng/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /Users/zuohaocheng/.ssh/id_dsa
debug3: no such identity: /Users/zuohaocheng/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

中的所有内容sshd_config均为默认设置。另外,我通过 复制了公钥ssh-copy-id

答案1

您对 的权限有误authorized_keys。您应该取消设置群组和其他人的读取权限。

答案2

目录/文件权限应如下所示:

chmod 700 ~/.ssh 
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub 

ls -l ~/.ssh应该会显示 chmod 权限。检查是否PermitRootLogin Yes已启用,因为您正在复制在 root 的 .ssh 目录中生成的公钥。这可能会产生问题。

答案3

(您的主目录)的权限是什么~/?您不能允许任何级别的权限,以允许其他人覆盖您的~/.ssh目录。如果您的主目录比 755 更宽松,系统将提示您输入密码。

答案4

为使公钥认证正常工作,authorized_keys 的权限必须为 600。

相关内容