我正在尝试通过以下方式连接到 vagrant homestead ssh
:
vagrant@127.0.0.1's password:
但是我的公钥密码不起作用。
我的 Homestead.yaml 看起来像这样:
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
我正在使用“Laravel Homestead 版本 2.0.14”和“Vagrant 1.7.2”。
在尝试了很多密码并完全混淆了为什么我的公钥密码不起作用后,我发现我必须vagrant
用作密码。
也许此信息也对其他人有所帮助-那是因为我已将其写在这里。
编辑:
根据 Vagrant 文档,用户的默认密码通常vagrant
是vagrant
.
在这里阅读更多:官方网站
然而,在最近的版本中,他们已经开始为每台机器生成密钥对。如果你想知道那个键在哪里,你可以运行vagrant ssh -- -v
. 这将显示 ssh 登录过程的详细输出。你应该看到这样的一行
debug1: Trying private key: /home/aaron/Documents/VMs/.vagrant/machines/default/virtualbox/private_key
我有同样的问题。从 Time Machine 的还原移动机器后,在另一台主机上。问题在于 vagrant 的 ssh 密钥不是您的密钥,而是 Homestead 目录上的密钥。
我的解决方案:
在终端上运行
vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/MYUSER/.vagrant.d/insecure_private_key"
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
创建一对新的 SSH 密钥
ssh-keygen -f /Users/MYUSER/.vagrant.d/insecure_private_key
复制公钥内容
cat /Users/MYUSER/.vagrant.d/insecure_private_key.pub
在 Homestead VM Machine 的其他 shell 上复制到 authorized_keys
vagrant@homestad:~$ echo 'CONTENT_PASTE_OF_PRIVATE_KEY' >> ~/.ssh/authorized_keys
现在可以使用 vagrant ssh 访问
默认情况下,Vagrant 使用生成的私钥登录,你可以试试这个:
ssh -l ubuntu -p 2222 -i .vagrant/machines/default/virtualbox/private_key 127.0.0.1
这是默认的工作设置https://www.youtube.com/watch?v=XiD7JTCBdpI
使用连接方法:standard TCP/IP over ssh
然后 ssh 主机名:127.0.0.1:2222
SSH 用户名:vagrant password vagrant
MySQL 主机名:localhost
用户名:homestead password:secret
ssh vagrant@VAGRANT_SERVER_IP
在 Windows 机器上,我无需提供密码即可从 git bash 登录到 ssh
在窗口服务器主机上使用 Bitvise SSH 客户端:VAGRANT_SERVER_IP
服务器端口:22
用户名:vagrant
密码:vagrant
就我而言,我通过以下输出了解到:
vagrant ssh -- -v
问题是我的 vagrant 生成的私钥被忽略了,因为权限太开放(在 Windows 10 上)。
日志行是:
'C:/My Folder/.vagrant/machines/default/virtualbox/private_key' 的权限太开放了。要求您的私钥文件不能被其他人访问。此私钥将被忽略。
因此,在 Windows 资源管理器中,导航到日志路径上 VM 的私钥,右键单击并选择属性。然后转到安全选项卡并单击高级按钮。接下来,使用完全控制添加您的特定用户,然后选择也具有权限的任何组,然后单击对话框底部的禁用继承按钮并选择删除所有继承。您应该只剩下您自己的用户帐户,该帐户对 private_key 文件具有权限。单击应用并关闭属性对话框,然后vagrant ssh
重试。它现在应该让您无需输入密码即可进入。