在使用vagrant up启动虚拟机的时候,遇到了一个问题,报错信息如下:

default: SSH auth method: private key
default: Warning: Authentication failure. Retrying...
...

错误信息表明身份验证失败,在google之后找到解决方案。
虽然vagrant up身份验证失败,但其实虚拟机已经启动,此时依然是可以进入虚拟机的。
进入虚拟机执行如下命令:

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 reload重启虚拟机。

但是还是没有用,报了同样的错误。
此时使用vagrant ssh-config命令查看vagrant的ssh配置信息

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /vagrantPath/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

将IdentityFile所指的路径中的文件删除,然后再次重启虚拟机。

以上。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐