启动 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。