大部分情况下,Homestead 的安装是非常简单的,我就基本上没遇到过问题。然而如果你遇到 vagrant up
后卡在 SSH auth method: private key
的情况,你可以按照以下清单进行排查。
这里使用的是 VirtualBox。
卡顿大概是这样的:
E:\Program Files\Homestead>vagrant up
.
.
.
homestead: SSH address: 127.0.0.1:2222
homestead: SSH username: vagrant
homestead: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
.
.
.
1. 检查 SSH Key 填写是否正确?
实现 SSH 免密码登录的是 authorize
选项:
authorize: ~/.ssh/id_rsa.pub
请确定 ~/.ssh/id_rsa.pub
文件是否存在,否知按照这里从新生成一遍 SSH Key。
2. 重新生成 insecure_private_key
在 Homestead
文件夹下执行:
> vagrant ssh-config
会输出:
Host homestead-7
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile D:/Homestead/.vagrant/machines/homestead-7/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
移除 IdentityFile
选项里的文件 D:/Homestead/.vagrant/machines/homestead-7/virtualbox/private_key
重新运行 vagrant up
(vagrant 会生成一个新 insecure_private_key 文件)。
3. 修改 VirtualBox 虚拟机的网卡
- 在 VirtualBox 软件界面里确保
homestead-7
虚拟机完全关机; - 右键
homestead-7
虚拟机,选择『设置』; - 选择『网络』;
- 在 'Adapter 1' 栏目下,展开『高级选项』;
- 打钩『连接网线』;
- 保存设置,
vagrant up --provision
- 然后
vagrant reload
重新加载虚拟机。
4. 在 BIOS 中开启虚拟化技术支持
进入 BOIS,将 intel virtual technology 设置为 enable。
参考:
- [在BIOS中开启虚拟化技术
- 启动BIOS的虚拟化设置 | 开启CPU虚拟化支持
5. 重来一遍
将 VirtualBox ,Vagrant 和 Homestead 完全删除。重新下载 最新版 的所有软件,然后重头到尾再安装一遍。
6. 换个电脑
Homestead 安装不成功有些时候是系统和硬件导致的,家里有多台电脑的话,可以换着试试看。