按照我使用过的流程其他环境,我尝试在我的 Mac 和 CentOS 4 网络服务器之间设置共享密钥。当我的旧 Ubuntu 7.10 工作站尝试通过密钥连接到同一网络服务器时,我也遇到了同样的问题。
我已经尝试了dsa
和rsa
keytypes ( sshkeygen -t <type>
)。
我的网络服务器上的文件sshd_config
似乎允许基于密钥的登录:
RSA身份验证 是 公钥认证 是 授权密钥文件 .ssh/authorized_keys
并且我的 .ssh/authorized_keys 已添加我的dsa
和rsa
密钥。
我应该在哪里寻找下一步需要更改的内容以使基于密钥的登录“正常工作™”?
是否与线路有关,
#UseDNS 是
并sshd
尝试对我的 IP 进行反向查找,但由于经过了 NAT 而无法进行?
答案1
~/.ssh/
应 设置 权限0700
, 并 应 内容0600
.
此外,的权限~/
必须为 0755 或更低;也就是说,任何其他用户都不能写入。
答案2
这Ubuntu 上的 SSH 密钥页面是很好的读物(看看Troubleshooting
)。
答案3
在启动 ssh 连接时添加一些 -v 选项
ssh <user>@<host> -vvv
如果你有服务器的管理员权限,你也可以strace -f -p SSHD_PID你的 sshd
他们都会给你提供大量信息……
答案4
CentOS 或 Ret Hat 维护旧版本的软件包,所以我认为这是 OpenSSH 5 连接到旧版本的一个问题。
如果我没记错的话,您可能需要有一个名为的文件,authorized_keys2
而不仅仅是authorized_keys
在服务器端。