103

我正在尝试通过以下方式连接到 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”。

4

6 回答 6

263

在尝试了很多密码并完全混淆了为什么我的公钥密码不起作用后,我发现我必须vagrant用作密码。

也许此信息也对其他人有所帮助-那是因为我已将其写在这里。

编辑:
根据 Vagrant 文档,用户的默认密码通常vagrantvagrant.
在这里阅读更多:官方网站

然而,在最近的版本中,他们已经开始为每台机器生成密钥对。如果你想知道那个键在哪里,你可以运行vagrant ssh -- -v. 这将显示 ssh 登录过程的详细输出。你应该看到这样的一行

debug1: Trying private key: /home/aaron/Documents/VMs/.vagrant/machines/default/virtualbox/private_key
于 2015-04-04T19:12:45.467 回答
18

我有同样的问题。从 Time Machine 的还原移动机器后,在另一台主机上。问题在于 vagrant 的 ssh 密钥不是您的密钥,而是 Homestead 目录上的密钥。

我的解决方案:

  • 使用 vagrant / vagrant 访问 Homestead 的虚拟机
  • vagrant ssh-config 查看 ssh 的配置

在终端上运行

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 访问

于 2016-06-17T08:49:48.563 回答
13

默认情况下,Vagrant 使用生成的私钥登录,你可以试试这个:

ssh -l ubuntu -p 2222 -i .vagrant/machines/default/virtualbox/private_key 127.0.0.1
于 2017-11-11T12:47:38.213 回答
11

这是默认的工作设置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

于 2019-02-20T23:01:49.227 回答
2


ssh vagrant@VAGRANT_SERVER_IP在 Windows 机器上,我无需提供密码即可从 git bash 登录到 ssh


在窗口服务器主机上使用 Bitvise SSH 客户端:VAGRANT_SERVER_IP
服务器端口:22
用户名:vagrant
密码:vagrant

于 2020-03-26T06:49:00.413 回答
0

就我而言,我通过以下输出了解到:

vagrant ssh -- -v

问题是我的 vagrant 生成的私钥被忽略了,因为权限太开放(在 Windows 10 上)。

日志行是:

'C:/My Folder/.vagrant/machines/default/virtualbox/private_key' 的权限太开放了。要求您的私钥文件不能被其他人访问。此私钥将被忽略。

因此,在 Windows 资源管理器中,导航到日志路径上 VM 的私钥,右键单击并选择属性。然后转到安全选项卡并单击高级按钮。接下来,使用完全控制添加您的特定用户,然后选择也具有权限的任何组,然后单击对话框底部的禁用继承按钮并选择删除所有继承。您应该只剩下您自己的用户帐户,该帐户对 private_key 文件具有权限。单击应用并关闭属性对话框,然后vagrant ssh重试。它现在应该让您无需输入密码即可进入。

于 2021-11-24T15:59:12.970 回答