vagrant up default: Warning: Authentication failure. Retrying...的一些解决办法(转自myx的博客)
程序员文章站
2022-05-31 18:14:15
...
一般看到这个信息时,虚拟机已经启动成功,可以中断命令后vagrant ssh登录试试
如果失败,修改vagrant工作目录下的Vagrantfile文件,在 config.vm.box ="XXX……" 下添加 config.ssh.password ="vagrant" 然后重新vagrant ssh登录。
仍然失败,应该是虚拟机关闭了ssh密码登录方式,可以打开VirtualBox窗口右击你要登录的虚拟机,点击“显示”按钮,打开VirtualBox虚拟机登录窗口,输入账户和密码(默认都是vagrant)进入系统。修改/etc/ssh/sshd_config文件,注释PasswordAuthentication no 这一行后重启sshd服务,然后vagrand ssh 就可以登录了
免密登录有两种方式,一种是自己生成私钥公钥,把私钥写入虚拟机的/home/vagrant/.ssh/authorized_keys文件下,并在Vagrantfile中以config.ssh.private_key_path="xx/xx"方式设置公钥路径。
另一种是将官网提供的公钥写入虚拟机中:
sudo -u vagrant wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/authorized_keys。然后vagrant reload ,系统就会自动删除刚刚插入的公钥并完成公私钥生成,公钥插入虚拟机,设定主机私钥路径等操作。
需要注意的是 ,authorized_keys的权限必须设置成除了属主vagrant以外,group和其他用户都不可写状态:chmod go-w authorized_keys
vagrant package打包的时候最好把sshd密码登录方式设置为true,官网公钥写入authorized_keys中并设置好权限,这样启动使用这个box的时候系统免密登录一步完成,没那么多麻烦事。
上一篇: 使用 Vagrant 搭建开发环境