部署 关于 SSH 连接的 Permission denied (publickey)

匿名 · 2013年06月14日 · 最后由 hychuan 回复于 2015年09月26日 · 53143 次阅读

服务器环境为 CentOS 6.4,通过 SSH 进行连接登录,在/etc/ssh/sshd_confg中配置如下:

PermitRootLogin yes
AuthorizedKeysFile /etc/ssh/root/authorized_keys

这种情况下连接正常。

如果修改/etc/ssh/sshd_confg配置为:

PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys

也就是说把authorized_keys放在.ssh目录,authorized_keys是直接从/etc/ssh/root/里拷贝过来的,权限经过检查两个目录里都是 644。

这种情况下连接就会报错:

Permission denied (publickey).

看起来authorized_keys无法放在 root 根目录下的.ssh文件夹中。

求解。

.ssh/里文件权限只能是 600

authorized_keys 文件存的是要连这个 SSH 的用户的 id_rsa.pub 每条一行

匿名 #2 2013年06月14日

#1 楼 @windwiny 经过对比原来是 SELinux 从中作梗!修改下.ssh的 SELinux 权限类型就行了。 chcon -t ssh_home_t -R /root/.ssh

@lewisgrady 这个头像好熟悉啊

Hi 楼主,谢谢你的解答,我也碰到了和你同样的问题,然后靠着你的方法解决了!补充一下,我的环境是 RedHat 6.0 版本,部署 SSH 时,非 root 用户的功能是可以实现的,但是 root 用户却总是提示输入密码。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号