如果要保留机器,而不破坏和重新创建,请按照以下步骤操作,以解决您的问题。(我在OS X El Captain,Vagrant 1.8.1上工作)
在调试模式下运行Homestead
homestead --debug up
在输出中查找类似的内容:
INFO机器:初始化机器:默认INFO机器:-提供者:VagrantPlugins :: ProviderVirtualBox :: Provider INFO机器:-Box:#INFO机器:-数据目录:/Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/虚拟盒子
Data dir是您感兴趣的路径。
然后 vboxmanage list vms
“宅基” {0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c}“ settler_default_1447385930122_73498_1474294682778_13108” {93ecb93f-f159-4406-a384-5312b4d3ab34}
编辑id文件,在上一条命令中找到的路径中
vi /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/virtualbox/id
在这种情况下,将文件内容替换为您要修复的VM的ID。
0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c
现在尝试
homestead up
VM应该开始启动。它可能有效,或者您可能无法使用ssh身份验证
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying...
要解决此问题,请执行以下检查Homestead SSH配置
homestead ssh-config
你应该得到类似
主机默认主机名127.0.0.1用户无端口2222
UserKnownHostsFile / dev / null StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile“ /Users/pryznar/.vagrant.d/insecure_private_key”
Identities仅是LogLevel FATAL
编辑IdentityFile文件
/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key
检查Homestead.yml
cat /Users/YOUR_HOME_DIR/.homestead/Homestead.yaml
然后将路径复制到密钥键下的文件,并从该文件复制私钥
cat ~/.homestead/ssh/id_rsa
最后一步是将/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key中的私钥替换为您刚刚复制的私钥
现在再次尝试梯级宅基地,应该可以工作。
homestead up
我收到了一些警告,但到目前为止它没有问题
==>默认值:警告:在命令行界面上使用密码可能不安全。==>默认值:ERROR 1045(28000):对用户'homestead'@'localhost'的访问被拒绝(使用密码:是)SSH命令以非零退出状态响应。Vagrant认为这意味着命令失败。该命令的输出应在上面的日志中。请阅读输出以确定出了什么问题。
VBoxManage list vms
查看是否有需要清除的幽灵/孤儿/僵尸条目。