我尝试强制使用SSH密钥来访问服务器(我禁用了基于密码的登录)。
我为我的流浪者使用“ubuntu / trusty64”。在我的VM首次启动后,我创建了另一个用户“gwendal”,然后我将他添加到了sudo组。
以下是我遵循的步骤:
[在我的本地计算机上]:cd ~/.ssh
然后ssh-keygen -t rsa -b 4096 -C your@email.com -f id_gwendal
我最后复制了id_gwendal.pub
的内容
[在我的客人身上]:我从vagrant转换为gwendal用户,并将公钥粘贴到~/.ssh/authorized_keys
所以我应该能够登录,但我总是有这样的信息: 权限被拒绝(公钥)。
我试过了:
ssh gwendal@192.168.22.10
ssh -i ~/.ssh/id_gwendal -o "IdentitiesOnly yes" gwendal@192.168.22.10
答案 0 :(得分:0)
感谢Remus Rusanu的建议,我发现了错误。
当我用tail -500 /var/log/auth.log | grep 'sshd'
检查最后的日志时,我注意到了这一点:
错误:无法加载主机密钥:/ etc / ssh / ssh_host_ed25519_key
所以我检查了sshd_config文件并且有这一行(我没有添加自己):
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
所以我只是评论了最后一行,我可以用我的公钥访问我的服务器。