vagrant报错

Warning Authentication failure. Retrying...

问题现象:
在导入别人的box或者自己制作的box之后,经常会出现认证失败的问题,如以下报错:


问题原因:
从字面意思上看是认证失败,其实根本原因是该box的私钥和vagrant的公钥不匹配

解决思路:
先排查私钥,查看vagrant配置私钥的路径以及文件名字
在项目文件夹中执行以下命令(此时没有ssh到虚拟机里)
$vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2202
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/yangzhiqiang/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

查看到私钥是insecure_private_key,但是如何去查看它是否和公钥匹配呢,我的做法是,先进入这个目录,删除掉私钥。
重启虚拟机vagrant reload,
私钥重新生成,如果问题仍然存在,那么肯定是公钥有问题。

公钥有问题的解决办法:
1.先进入虚拟机 vagrant ssh,因为认证失败,需要手动输入密码vagrant
2.进入虚拟机之后,进入vagrant共享目录,重新下载公钥

cd /home/vagrant
sudo -u vagrant wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys
sudo -u vagrant chmod 700 .ssh
sudo -u vagrant chmod 600 .ssh/authorized_keys
sudo -u vagrant chown -R vagrant:vagrant .ssh

重启vagrant,问题解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容