SSH认证的问题:
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
我可以通过 Ctrl+C
退出身份验证循环,然后手动成功进行ssh。
我在虚拟机中执行了以下步骤:
启用了
所有用户的远程登录
。使用
0700
权限创建了~/.ssh
目录。使用
0600
权限创建了~/.ssh/authorized_keys
文件。将此公钥粘贴到
~/.ssh/authorized_keys
中。
我还尝试使用私有(hostonly)网络而不是公共(bridged)网络,使用Vagrantfile中的以下行:
config.vm.network "private_network", ip: "172.16.177.7"
我得到相同的输出(除了Adapter 2: hostonly
),但无法手动ssh。
我还尝试过 config.vm.network "private_network", ip: "10.0.0.100"
。
我还尝试在Vagrantfile中设置config.ssh.password
。这确实输出了SSH auth method: password
,但仍无法通过身份验证。
我还尝试重新构建虚拟机并重新检查上述所有内容。
据其他人的成功配置,所以肯定是我做错了些什么。
我在这个帖子中找到了一些线索并启用了GUI,但没有帮助。
config.ssh.private_key_path = "~/.ssh/id_rsa"
这一行,必须将其删除才能使配置生效。 - holms