【Homestead Master】系列是Laravel底层核心技术实战揭秘这一课程里的第一章,因为考虑到该章内容学员们可能要经常来回查阅,同时也为了提高课程更新速度,所以这一章以文字的形式发布在此。

有时候你改动了ssh key,或者说像上一篇帖子改动过虚拟机的默认ID,就很容易出现认证失败一直重启的现象:

default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...

这个时候就需要更新一下虚拟机里面的.ssh/authorized_keys,当然这个操作的前提是你要先进入虚拟机,可以是通过之前说的,先设置成username和password登陆,也可以直接在virtualbox程序界面直接启动homestead虚拟机,然后输入username和password。

进去了以后执行下面的命令,到vagrant的github上重新获取新的key:

wget //raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys

然后再依次执行下面的命令来更改一下.ssh文件夹及所属文件的权限和用户组:

chmod 700 .ssh
chmod 600 .ssh/authorized_keys
chown -R vagrant:vagrant .ssh

再重启虚拟机就好了。

或许需要注意的是,这里copy的vagrant默认的authorized_keys是非安全的限于本地开发的key-pair,这一点vagrant官方也说了,具体可以看这里,有需要的话可以根据提示自行配置安全的key-pair。