SSH密钥更新后,Vagrant要求输入密码

时间:2015-05-20 03:35:31

标签: ssh vagrant

我在切换到新机器后重新设置了我的SSH密钥,只是复制了我打包的现有自定义Vagrant盒子。

当我尝试ssh到框中时,我收到了REMOTE HOST IDENTIFICATION HAS CHANGED错误。所以我清除了known_hosts的输入,然后ssh回到了框中。新密钥已被接受,但现在每次我输入时都需要输入默认的vagrant密码,而不是仅使用我的ssh密钥。

我在这里缺少什么?

3 个答案:

答案 0 :(得分:1)

“接受了新密钥”? 您是否验证了Host上的私钥和Guest上的公钥配对?
如果密钥被接受,则不会弹出密码提示。

验证您的私钥/公钥:

在主机操作系统上找到您的私钥(IdentityFile for vagrant):

vagrant ssh-config

从私钥生成公钥:

ssh-keygen -y -f private_key > public_key
cat public_key

将生成的public_key与Guest OS上的public_key进行比较(您可以通过密码登录)。

cat ~/.ssh/authorized_keys

答案 1 :(得分:0)

我有这个问题,它似乎是由多个VM运行引起的。我键入vagrant ssh-congfig并注意到它报告了端口2200而不是我连接的2222。当我在2200上连接时,它不需要密码。不确定这对你来说是否相同,但这就是发生在我身上的事。

答案 2 :(得分:0)

您的 ~/.ssh/config 中是否有类似下面的行?

PubkeyAcceptedKeyTypes ssh-dss,ssh-rsa

就我而言,在删除它后,vagrant ssh 不再要求我输入密码。