第一次使用 `homestead ssh` 是否有连接 vagrant 的默认密码?

Is there a default password to connect to vagrant when using `homestead ssh` for the first time?

我正在尝试通过 homestead ssh:

连接到 vagrant
vagrant@127.0.0.1's password:

但是我的 public 密钥密码不起作用。
我的 Homestead.yaml 看起来像这样:

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

我正在使用 "Laravel Homestead version 2.0.14" 和 "Vagrant 1.7.2"。

在尝试了很多密码并完全弄糊涂了为什么我的 public 密钥密码不起作用后,我发现我必须使用 vagrant 作为密码。

也许这个信息对其他人也有帮助 - 那是因为我已经把它写在这里了。

编辑:
根据 Vagrant 文档,通常 用户 vagrant 的默认密码是 vagrant
在此处阅读更多信息:official website

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

的行
debug1: Trying private key: /home/aaron/Documents/VMs/.vagrant/machines/default/virtualbox/private_key

我也有同样的问题。从 Time Machine 恢复移动机器后,在另一台主机上。问题是 vagrant 的 ssh 密钥不是你的密钥,它是 Homestead 目录中的密钥。

我的解决方案:

  • 使用vagrant / vagrant访问Homestead的ti VM
  • 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

复制public键的内容

cat /Users/MYUSER/.vagrant.d/insecure_private_key.pub

在其他 shell 上将 Homestead VM 机器复制到 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

在 Windows 机器上,我能够从 git bash 使用
登录到 ssh ssh vagrant@VAGRANT_SERVER_IP 不提供密码

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

在我的案例中,我通过以下来源的输出了解到:

vagrant ssh -- -v

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

日志行是:

Permissions for 'C:/My Folder/.vagrant/machines/default/virtualbox/private_key' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored.

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