Homestead 安装问题汇总
64

file

问题描述

大部分情况下,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 文件)。

这里要感谢 @wwhu668分享

3. 修改 VirtualBox 虚拟机的网卡

  1. 在 VirtualBox 软件界面里确保 homestead-7虚拟机完全关机;
  2. 右键 homestead-7 虚拟机,选择『设置』;
  3. 选择『网络』;
  4. 在 'Adapter 1' 栏目下,展开『高级选项』;
  5. 打钩『连接网线』;
  6. 保存设置,vagrant up --provision
  7. 然后 vagrant reload 重新加载虚拟机。

file

4. 在 BIOS 中开启虚拟化技术支持

进入 BOIS,将 intel virtual technology 设置为 enable。

参考:

  1. 在BIOS中开启虚拟化技术
  2. 启动BIOS的虚拟化设置 | 开启CPU虚拟化支持

xx. 重来一遍

将 VirtualBox ,Vagrant 和 Homestead 完全删除。重新下载 最新版 的所有软件,然后重头到尾再安装一遍。

如果你是按照 《Laravel 教程 - Web 开发实战入门》 的话,请仔细按照环境部署章节下载『指定的、定制的』软件,然后重新安装一遍。

xxx. 换个电脑

Homestead 安装不成功有些时候是系统和硬件导致的,家里有多台电脑的话,可以换着试试看。考虑重新买电脑的同学,如果你是下定决心要以编程为职业的,推荐 Mac OS 系统的电脑。

预算可以的话 RMBP ,预算较少也可以考虑 Mac Mini

结语

有遇到过此问题,并且解决方案是上面没有提过的同学,欢迎留下你的解决方案,我会整合到此文章中,希望这篇文章能帮助到更多的人。

虚拟化技术会让你的职业生涯受用无穷,作为一名优秀的开发者,基本上离不开虚拟化。同学们要有『不行就使劲折腾到行』的决心。扩展阅读: 为什么必须使用 Homestead 来开发 Laravel 应用?


Practice makes perfect.

本帖已被设为精华帖!
本帖由 Summer 于 1年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 66
Summer

为了不引起使用哪种虚拟化的争论,此贴评论区只接受 homestead 使用问题反馈的评论,感谢理解。

1年前

大体都说到了,基本都是1和4问题

1年前

两台机器,一台无任何问题安装成功,一台死活卡在这里,上述4个方法都试过,难受了一天以后,选择自己制作了一个lnmp虚拟机ORZ..

1年前

Linux写代码,Windows登qq

1年前
Qi

1234我试过了,无效。结果只能xxx了

1年前
ahkxhyl

我感觉有2种情况: 1:就是虚拟机打钩『连接网线』2:CPU需要支持虚拟化支持 最主要最常见的是第2种情况~~

1年前

开启cpu的虚拟化支持后,使用 vagrant destroy,然后重新 vagrant up

1年前

步骤3,解决了我的问题

1年前

@sofeien 是这个样子,谢谢了

1年前

还有一个就是电脑的命名,我之前电脑名字是中文的,按照这个都过了一遍,没什么问题,但是公司那个电脑是可以的,那个用的是英文的电脑名字,后来想想是不是不能用中文,不然在第二步有乱码,后来直接重做系统了-_-,在装就可以了!

1年前

经过好几天的翻阅资料和尝试,个人感觉在 xx. 重来一遍这个步骤之后,增加:重装系统 这一解决方案。在尝试各种方案后仍得不到解决,建议直接重装系统(个人已经成功验证),切记别浪费不必要的时间。(环境如下:win7旗舰版+vagrant1.9.7+virtualbox5.1.26+homestead-virtualbox-2.1.0.box+homestead5.4.0)

1年前
hou

居然我的问题出现在步骤三 忙碌了一天了

1年前

感觉应该是重设了 vagrant 的 .vagrant.d 路径的原因,在执行 vagrant box add metadata.json 的时候由于C盘空间不足,所以产生了迁移 .vagrant.d 的路径的想法,利用 export VAGRANT_HOME='/path/to/vagrant_home' 的方法重设了 .vagrant.d 的路径,但是后面在 vagrant up 的时候发现 C 盘的.vagrant.d又出现了,而且 vagrant ssh-config 显示的 IdentityFile 也是默认路径下的,虽然我也不知道如何解决,我还是换macbook来搞下环境吧,希望哪位大大可以解决这种情况。

1年前

步骤三 连接网线 干了一个小时 :joy::joy::joy:

1年前

这个问题让人很崩溃 还没有解决。

telnet 127.0.0.1 2222 显示无法连接到该主机

在win7上又没有这个问题,唯独在win10上有这个问题。

1年前

win10 重装系统后问题解决了

1年前

改了下网卡好使了

11个月前

如果以上方法都不好用。。建议尝试一下:

运行CMD

输入netsh advfirewall reset回车

输入netsh int ip reset回车

输入netsh int ipv6 reset回车

输入netsh winsock reset回车

然后重启电脑

我就是遇到文中4种方式都不好用但又没法重装系统。。重置了网络,按照这个教程再重新配置开发环境(建议不要着急重新配置先重置一下试试)就OK了

PS:这个方法是我绝地求生BE服务启动失败上网搜到的解决方案。。突然想到会不会重置网络配置以后开发环境也就好用,结果还真好用了。。

11个月前
老好人

@Summer 你教学定制homestead盒子是64为的ubuntu系统,我这32为的电脑,virtualBox虚拟不出来64位的环境,肿么办,申请放个32为的定制盒子出来。
是在primary key这个问题上卡几天了,不过深入的学习了vagrant和VirtualBox的一些东西,目前还没出坑。

11个月前
老好人

不对啊,我另外一台32位的台式机安装成功过,就这笔记本不行

11个月前

下载了最新版的VirtualBox得已解决。

11个月前

大部分情况下,Homestead 的安装是非常简单的,我就属于小部分,不过后来就习惯了

10个月前

昨天还是好好一晚上就不行了

10个月前

@Kyousuke 上面那四个办法都试了不管用,没想到用你这个办法就好了,万分感谢

10个月前

第一个问题还是不行啊,

file
我的这样子,删了也不行

10个月前

@Kyousuke 碉堡了, 谢谢你, 按照你的方法, win10下vagrant up成功! 看来, 没事还得多吃吃鸡, 哈哈!

9个月前

我这里是通过修改 BIOS 解决的!

9个月前

@Kyousuke 试了这位的方法,终于连上了。感谢!

9个月前
Alex331349470

本人的解决方法是:按照步骤安装完毕后,使用Virtual Box软件启动一遍,然后在Git Bash里再使用vagrant up启动即可。

9个月前

file . 这个要怎么解决呀?

9个月前

Dear all :各位大神,请帮忙看一下
我这边公司环境,vagrant ssh后进入了ubuntu 但是一直停在这里。
1.怀疑是ubuntu上不了网的问题,但是
file
2.在virutalbox 中进入需要登录请问用户名和密码是多少呀,我教程中的box

file

8个月前

@NickCaiSen 回复第二条:我用的账号和密码是vagrant

8个月前

@Kyousuke 方法可以,我把命令保存成 cmd.bat 右键 管理员权限运行。然后删除之前按照的软件,重新运行一次就OK了

8个月前

ssh key也是要重新生产,貌似脚本中用的是 vagrant用户

8个月前

首先检查下4,虚拟化是否开启,没开启真的不行

7个月前

请问一下,我的win10系统,homestead-7正常启动运行

file

在vagrant ssh的时候没有正常连接,请教一下是该怎么解决,之前在公司电脑是没问题的,谢啦!

file

7个月前

我也是服了,重装成功了,第二次用又变成这样,难道我要一直重装 :unamused: :unamused:

7个月前

@秋风 你现在解决这个问题了吗?

7个月前

@hunaghao 没有,不过在公司电脑上是好的,所有再没有去搞,回头重装一次再试下,

7个月前

我用vagrant up 登录后的身份是 vagrant 但是在vagrant 家目录下的Code目录所属用户和组都是root 且 vagrant没有写权限 root密码也不知道导致我在Code目录下没法进行任何操作了

6个月前

实测这个问题跟 内存设置 也有关系,设256就是启动不了会在这里卡住,300以上就没问题

天坑啊,倒腾了半天直接在 Vbox 里运行才发现 end kernel panic not syncing out of memory and no killable processes 提示

6个月前

如果一直homestead-7: Warning: Remote connection disconnect. Retrying...

1.找到C:\Users\用户名\Homestead.vagrant\machines\homestead-7\virtualbox\private_key

2.修改private_key文件的权限:右键-属性-安全-编辑-添加-搜索你的用户名-确定-给完全控制权限-应用-确定

3.再回去看你运行的vagrant up命令行界面,是不是已经从warring转到running了,快试试vagrant ssh吧!

还是第一次用MarkDown回复,格式有错请见谅

6个月前

@StubbornYouth 我也是安装成功了,然后重启再进去又出这个问题。

6个月前

@StubbornYouth 最后问题解决了吗

6个月前

@Tao_Yuyang 升级重装Virtualbox就好了,退出后还是不行。。。感觉得重装系统。。。

6个月前

@StubbornYouth 我发现了一个神奇的方法,在windows中跑虚拟机的话,先用cmd 输入 vagrant up 运行虚拟机,然后就可以继续用gitbush操作登录了。如果还出现这个问题把insecure_private_key删除,然后重启虚拟机就行了。

6个月前

如果gitbush启动虚拟机出现SSH auth method: private key 并且警告信息如下

==> homestead-7: Waiting for machine to boot. This may take a few minutes...
    homestead-7: SSH address: 127.0.0.1:2222
    homestead-7: SSH username: vagrant 
    homestead-7: SSH auth method: private key
    homestead-7: Warning: Connection reset. Retrying...
    homestead-7: Warning: Connection aborted. Retrying...
    homestead-7: Warning: Connection reset. Retrying...
    homestead-7: Warning: Connection aborted. Retrying...
    homestead-7: Warning: Connection reset. Retrying...
    homestead-7: Warning: Connection aborted. Retrying...

最终导致开启虚拟机失败的同学可以试试用一下方法:

关闭虚拟机

$ vagrant halt

然后打开windows的cmd
进入homestead根目录输入虚拟机启动命令

C:User\username\Homestead>vagrant up

很大几率能解决,如果还是同样的问题,可以尝试删除insecure_private_key
然后重启启动虚拟机。
具体原理不太清楚,但是目前在我的电脑上很实用,我现在使用gitbush基本都是报同样的警告。使用cmd启动就解决。
希望有懂原理的同学补充讲解一下为什么会出现这种问题。

6个月前

@sofeien 还真是你这样........

5个月前

@phpnewclass 使用你的方法解决了,谢谢,本来我自己用ssh登陆的时候提示没有权限,没仔细排查,白白浪费了时间,希望对有同样问题的人有帮助

5个月前

@doCodeIt 由于对LINUX权限比较敏感,所以上来我就想到了这个权限方面的问题。。。

5个月前

@phpnewclass 谢谢你解决了我的问题。为什么private_key会让一个完全不知道什么意思的带问号的用户拥有完全控制权呢

5个月前

提一个小问题,4那里描述的intel软件检测虚拟化是否开启是不准确的,我显示开启,但重启后在bios界面显示未开启

5个月前

win10的同学解决上面问题:vagrant使用2.1.2版本,virtualBox使用5.1.38版本就可以了。老师帖子里给的版本太新了。

4个月前

stackoverflow的这篇文章
https://stackoverflow.com/questions/40968297/laravel-homestead-hangs-at-ssh-auth-method-private-key-on-mac/40998978
里解决的,也是设置Virtual Box网络,具体步骤:
1.Completely uninstall and reinstall Vagrant, VirtualBox, and Homestead.
2.Ensure the homestead-7 box is shut down within the VirtualBox UI
3.Right-click the homestead-7 box, and choose Settings
4.Click 'Network'
5.Under 'Adapter 1', which should be attached to NAT, click 'Advanced'
6.Tick the box beside 'Cable Connected'
7.Save settings, and reprovision Homestead with vagrant up --provision
8.Run vagrant reload --provision to reprovision the machine

4个月前

终极解决办法,请加精:C:\Users\用户名.ssh\id_rsa(复制自己的ssh里面的内容)里面的内容要和,/Homestead/.vagrant/machines/homestead-7/virtualbox/private_key(粘贴进去)里面的内容一样。

有问题的同学可能是自动生成的签名不匹配,导致无法通过验证。

4个月前

我的是vagrant up卡到下面的情况,,vagrant ssh 可以正常使用,,网上的删除文件的方法无效,vagrant reload 后还是不行,怎么解决呢,有没有遇到这种情况的??

file

4个月前

@Hagrid 万分感谢,折腾一天了

4个月前

我BIOS的虚拟化技术支持,虽然显示的是开启,但是没啥用,我把他关了,又重新开启,就好了

4个月前

按照@sofeien的方法搞定了,也是折腾了一天!!!
开启cpu的虚拟化支持后,使用 vagrant destroy,然后重新 vagrant up

4个月前
wonbin

我是用Vmvare 装的centos7, 在centos7 上装的 virtualbox 2.12 以及vagrant5.2 ,最后卡在 ssh 上面了:

==> homestead-7: Booting VM...

==> homestead-7: Waiting for machine to boot. This may take a few minutes...

homestead-7: SSH address: 127.0.0.1:2222

homestead-7: SSH username: vagrant

homestead-7: 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.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

感觉像是步骤4 出了问题,因为在虚拟机系统上装 VB 和vagrant 无法再开启虚拟化支持了,所以感觉这样是不可行。
有人在虚拟机系统上尝试成功过吗

3个月前

感谢 第4个方法解决了我的问题

3个月前

@norie 那该怎么让它们一样呢?手动复制粘贴?我复制了一下还是没效果

2个月前

自己的 win10 系统没有任何问题,同样的文件到了 win7 系统下各种问题:

【解决问题一】 PowerShell 版本过低问题
file
普遍 Win7 的 PowerShell 版本为 2,需要手动升级。下载安装 Windows6.1-KB2819745-x64-MultiPkg.msu 解决(接下来遇到第二个问题)。

【解决问题二】Timed out 问题(CPU虚拟化)感谢 @sofeien !
file
这个是因为CPU的虚拟化未开启,开启后执行 vagrant destroyvagrant up 再次启动(启动后遇到了第三个问题)。

【解决问题三】Warning: Connect ... . Retrying... 感谢 @Young_Tao !
file
按照 @Young_Tao 所说,从 cmd 启动虚拟机就没有问题,使用 git bash 则会出现此问题,具体原因不明。

2个月前

建议文章提到的方法都无效的时候,可以考虑下升级内存了。

我试过文章说到的所有方法,还是启动不了,重装之后,过段时间还会出现启动问题。最近笔记本内存从 4G 升级到 12G 的时候,就能正常启动了。

file

1个月前

我用的win10+AMD处理器,在这里卡了半天最终解决,要点如下:
a.如4.所述,开启BIOS对AMD虚拟化支持
b.重新安装了!!!正版!!!win10系统(之前是用的盗版,遇到各种坑)
c.开启win10管理员账户(某些操作需要管理员权限)

1个月前
坐忘

如果你试过了各种办法,可以考虑关闭一下虚拟机
vagrant halt
再启动
vagrant up
可能会有意向不到的效果

2周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!