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进入。
我在客户机上执行了以下步骤。
为 "所有用户 "启用了 "远程登录"。
创建了~/.ssh
目录,具有0700
的权限。
创建了~/.ssh/authorized_keys
文件,权限为0600
。
将此公钥
到 ~/.ssh/authorized_keys
中。
我还尝试了使用私人(仅主机)网络,而不是公共(桥接)网络,在Vagrant文件中使用这一行。
config.vm.network "private_network", ip: "172.16.177.7"
。
我得到了相同的输出(除了 "Adapter 2: hostonly"),但随后无法手动登录。
我还尝试了config.vm.network "private_network", ip: "10.0.0.100"
。
我还尝试在Vagrant文件中设置config.ssh.password
。这确实输出了SSH auth method: password
,但仍然无法认证。
我还试着重建盒子并重新检查上述所有内容。
看起来其他人用这种配置获得了成功,所以一定是我做错了什么。
我发现了这个主题并启用了GUI,但这并没有帮助。
一般信息:默认情况下,在ssh-connection中,你可以简单地使用
user:vagrant
密码: vagrant
。
https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user
首先,尝试:看看你的机器配置中的vagrant insecure_private_key
是什么?
$ vagrant ssh-config
例子。
$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
http://docs.vagrantup.com/v2/cli/ssh_config.html
其次,做:
将insecure_private_key
文件的内容改为你的个人系统私钥的内容。
或者使用: 将其添加到Vagrant文件中。
Vagrant.configure("2") do |config|
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.ssh.forward_agent = true
end
1.config.ssh.private_key_path
是你的本地私钥。
2.2. 你的私钥必须对本地 ssh-agent 可用。你可以用ssh-add -L
检查。如果没有列出,用ssh-add ~/.ssh/id_rsa
添加它。
3.不要忘记把你的公钥添加到Vagrant虚拟机的~/.ssh/authorized_keys
中。你可以通过复制粘贴或使用类似ssh-copy-id(用户:root
密码:vagrant
端口:2222)ssh-copy-id '-p 2222 [email protected]'
的工具。
如果仍然不工作,请尝试这样做:
1.从c:\Users\USERNAME\.vagrant.dinsecure_private_key
中删除insecure_private_key
文件。
2.运行vagrant up
(vagrant将生成一个新的insecure_private_key
文件)。
在其他情况下,只需在 Vagrantfile
中设置forward_agent就可以了。
Vagrant::Config.run do |config|
config.ssh.forward_agent = true
end
有用的是:
配置git可与git-scm.com。
设置这个程序并创建个人系统后,**的私钥将在你的配置文件路径中。c:\users\USERNAME\.ssh\id_rsa.pub
。
PS:最后--建议你看看Windows 10上的Ubuntu