![ssh PubkeyAuthentication 对 root 以外的用户不起作用](https://linux22.com/image/1544303/ssh%20PubkeyAuthentication%20%E5%AF%B9%20root%20%E4%BB%A5%E5%A4%96%E7%9A%84%E7%94%A8%E6%88%B7%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我在使用用户 mw 进行 ssh 连接到一台机器时遇到了问题,因为没有密码。
我已经使用了 ssh-copy-id mw@machine。
我找过很多地方,也用 Google 搜索过很多次,但仍然找不到答案。
一些信息:
- 权限
/home/mw
:drwx------. 3 mw mw 109 Oct 18 09:29 mw
- 权限
/home/mw/.ssh
:drwx------. 2 mw root 61 Oct 18 09:23 .ssh
- 目录
/home/mw/.ssh
文件权限:-rw-------. 1 mw mw 744 Oct 18 09:23 authorized_keys -rw-------. 1 mw root 1702 Oct 17 17:48 id_rsa -rw-------. 1 mw root 406 Oct 17 17:48 id_rsa.pub
一些 sshd 配置:
cat /etc/ssh/sshd_config | grep PubkeyAuthentication
给出:PubkeyAuthentication yes
cat /etc/ssh/sshd_config | grep AuthorizedKeysFile
给出:AuthorizedKeysFile .ssh/authorized_keys
- 包含
/home/mw/.ssh/authorized_keys
我本地机器的正确公钥,我尝试从该机器ssh
其他有用信息:
ssh root@machine
可以工作,但ssh mw@machine
没有密码则无法工作- 如果我在机器上以 root 身份运行
/usr/sbin/sshd -D -p 2222
,然后ssh -p 2222 mw@machine
在我的笔记本电脑上运行,则无需密码
有人可以帮忙吗?
答案1
我的问题的解决方案是按照此处的建议运行restorecon -FRvv ~/.ssh
:https://stackoverflow.com/questions/20688844/sshd-gives-error-could-not-open-authorized-keys-although-permissions-seem-corre