启动 vagrant 一直报这个错误,说明是连接 ssh 使用的秘钥有问题,可能跟昨天我把虚拟机里的 authorized_keys 删了有关系。
1  | default: SSH auth method: private key  | 
这种情况需要重新配置 ssh 秘钥,我按照如下步骤解决了问题。
- 执行 
vagrant ssh-config查看当前虚拟机的 ssh 配置信息,输出如下 

- 执行 
ssh-keygen -m PEM -t rsa -b 4096生成 rsa 秘钥,现在默认名称生成的秘钥是以BEGIN OPENSSH PRIVATE KEY开头的,与虚拟机上的类型不一致,所以生成时需要带上后面的这些参数 - 将生成的私钥复制到第一步的 
IdentityFile标识的私钥文件中,同时也复制到~/.vagrant.d/insecure_private_key文件一份中(不复制也可以,执行 vagrant up 会自动生成) - 复制刚生成本机的公钥,使用用户名密码登录到虚拟机,将公钥添加到虚拟的 
authorized_keys文件中。homestead 虚拟机的用户名和密码都是vagrant。 - 最后执行 
vagrant reload --provision重新配置虚拟机即可 
直接执行这个命令应该就能解决这个问题:vagrant ssh -c "echo 'your_public_key' >> ~/.ssh/authorized_keys" ,将本机公钥写入到 homestead。