综合Vagrant的一些坑

这篇博客主要记录了在使用Vagrant时遇到的三个问题:1) mac上VirtualBox提示有效UID不是root,通过命令行sudo执行VirtualBox解决;2) 配置network后出现连接断开的警告,通过正确操作步骤避免;3) 打包分发后的Ubuntu镜像SSH认证失败,可能由于SSH用户名和认证方法变化。博主提出这些问题的原因和解决思路,并标记了未解决的问题待后续研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、mac上的virtualbox突然提示effctive UID is not root

直接在命令行下sudo执行virtualbox是可以打开的,但是vagrant仍然无法执行,说明还是没有权限

解决方法是在命令行下输入:

for bin in VirtualBox VirtualBoxVM VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT VBoxHeadless; do
    sudo chmod u+s "/Applications/VirtualBox.app/Contents/MacOS/${bin}"
done

2、Vagrant配置network之后一直default: Warning: Remote connection disconnect. Retrying...

Vagrant init了之后,直接修改Vagrantfile文件,将ip地址和共享目录等配置都加上然后up

但是一旦配置network,不管是public还是private就一直响应:

    default: Warning: Connection reset. Retrying...

    default: Warning: Remote connection disconnect. Retrying...

一直不得解决

回想起刚开始跟着教程学习的时候,是一步步先up,然后再修改配置文件,再reload

步骤如下:vagrant init -> vagrant up -> vagrant ssh -> 修改Vagrantfile -> vagrant reload


3、打包分发之后up一直提示default: Warning: Authentication failure. Retrying...

测试这个的环境是ubuntu16,按网上说的添加config.ssh.password也不行,自己生成秘钥略麻烦,不想实验了,以后有机会再说。

但是用centos7的景象,一切ok


另外又观察了一下,ubuntu用原镜像up提示是:

default: SSH username: ubuntu

default: SSH auth method: password

但是用box文件生成的镜像add并up后却变成了:

default: SSH username: vagrant
default: SSH auth method: private key

而centos则始终是private key

这就是原因吧,不知道怎么解决,这里mark一下,作为TODO吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值