vagrant up default: Warning: Authentication failure. Retrying...的一些解决办法

vagrant up default: Warning: Authentication failure. Retrying...的一些解决办法

   一般看到这个信息时,虚拟机已经启动成功,可以中断命令后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的时候系统免密登录一步完成,没那么多麻烦事。

posted @   闲云-野鹤  阅读(607)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示