我正在尝试通过 homestead ssh
连接到 Vagrant:
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虚拟机中的另一个Shell中将内容复制到authorized_keys文件中。
vagrant@homestad:~$ echo 'CONTENT_PASTE_OF_PRIVATE_KEY' >> ~/.ssh/authorized_keys
现在可以使用vagrant ssh进行访问
vagrant ssh-config
中的IdentityFile列表是正确的路径。 - user9903默认情况下,Vagrant使用生成的私钥进行登录,您可以尝试以下操作:
ssh -l ubuntu -p 2222 -i .vagrant/machines/default/virtualbox/private_key 127.0.0.1
这是默认的工作设置 https://www.youtube.com/watch?v=XiD7JTCBdpI
使用连接方法:标准TCP/IP over ssh
然后ssh主机名:127.0.0.1:2222
SSH用户名:vagrant密码vagrant
MySQL主机名:localhost
用户名:homestead密码:secret
ssh vagrant@VAGRANT_SERVER_IP
在窗口使用Bitvise SSH客户端:
服务器主机:VAGRANT_SERVER_IP
22
vagrant
vagrant
vagrant ssh -- -v
vagrant
密码。 - JustAMartin