在我的Windows 10上,我遇到了无法通过ssh用户使用公共密钥身份验证方法使用git bash使用
等命令连接到m Vagrant虚拟机的问题$ ssh -v lauser@127.0.0.1 -p 2222 -i ~/.ssh/id_rsa
我会被提示输入密码,就好像我没有看到我在vm内的〜/ .ssh / Authorized_keys文件中复制的公钥一样。同时,密码验证方法和“流浪者ssh”一起工作。 我已经确定了
在本地创建密钥对,在远程创建一个.ssh目录,并将pub密钥字符串添加到远程的.ssh / authorized_keys文件中; .ssh和.ssh / authorized_keys文件都归用户所有(lauser),设置为700和644
编辑vm上的/ etc / ssh / sshd_config文件以供使用 RSAAuthentication是的 PubkeyAuthentication是的 并重新启动sshd服务器(使用' sudo service ssh restart')。
验证是否已暂时禁用防火墙以消除任何复杂情况。
确认只有一个vm正在运行,其他所有vm都在'暂停'或者'停止'模式。
通过' file~ / .ssh / authorized_keys'确认文件类型,并获得确认'〜/ .ssh / authorized_keys:OpenSSH RSA公钥'
通过比较' sudo cat~ / .ssh / authorized_keys'的输出来验证密钥是否匹配在vm和'的输出cat~ / .ssh / id_rsa.pub'在当地。
但在尝试通过公钥认证进行连接时,仍然会获得Permission denied(publickey)。
答案 0 :(得分:0)
听起来你到目前为止已经完成了所有事情。当我遇到这个问题时,通常是由于目标用户的主目录(〜),〜/ .ssh或〜/ .ssh / authorized_keys的目录权限。
答案 1 :(得分:0)
当遥控器上的主目录没有正确的特权时,我面临着同样的挑战。将权限从777更改为744对我有帮助