【发布时间】:2014-09-12 08:56:14
【问题描述】:
我正在尝试在两个 linux 机器之间创建无密码连接(使用密钥)。我之前已经这样做了 20 或 30 次,但这是它第一次与我抗争并在全新安装的 Centos 7 上尝试它。我创建了密钥,ssh-copy-id 对其进行了重新创建,它看起来很开心。当我登录时,它仍然要求输入密码。
root@client:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
(client-key) root@client
The key's randomart image is:
+--[ RSA 2048]----+
| E. |
| . . |
| o |
| . +.|
| o S ..o =|
| o . . . ooo.|
| . . ..=+ .|
| . .=. . |
| ..oo.oo |
+-----------------+
root@client:~# ssh-copy-id -i .ssh/id_rsa.pub central@server
central@server's password:
Now try logging into the machine, with "ssh 'central@server'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
root@client:~# ssh central@server
central@server's password: (password entered at this point to make sure I had it correct)
Last login: Mon Jul 21 14:06:43 2014
[central@server ~]$
我发现很多关于检查 .ssh 文件夹和 authorized_keys 文件的权限的内容,并尝试了各种不同的组合。我已经清除了两台服务器上的 .ssh 文件夹并从头开始。 SElinux 在两个盒子上都被禁用了,而且任何时候都没有在密钥文件上设置密码。
有什么想法吗?
【问题讨论】:
-
您需要使用
ssh调试选项来查看它在哪里无法使用密钥。此外,这与 SO 无关,属于 Super User -
这很可能是由于文件和目录权限所致——如果权限太开放,则忽略密钥——检查 /var/log 中的日志文件
-
这个问题可能属于superuser.com
-
Soren,看起来你是对的,在 /var/log/secure sshd[3106] 中找到了这个:身份验证被拒绝:目录 /home/central 的所有权或模式错误 使用主目录权限 a位,并修复了它,谢谢!