vagrant报错

Warning Authentication failure. Retrying...

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


vagrant报错_第1张图片

问题原因:
从字面意思上看是认证失败,其实根本原因是该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,问题解决。

你可能感兴趣的:(vagrant报错)