在设置了SSH密钥后,使用vagrant up无法登录vagrant

7
我在我的vagrant box(trusty64)中有一个新用户,我尝试通过ssh登录它。在运行vagrant up后,我想登录我的用户名,而不是登录vagrant用户。
目前我已经完成以下步骤:
1. 在我的guest机器上创建了一个用户。 2. 使用ssh-keygen在我的主机上创建ssh密钥。 3. 使用ssh-copy-id -p 2222 -i shash@127.0.0.1将ssh密钥复制到guest机器中。
Vagrantfile的部分内容如下:
  config.vm.box = "ubuntu/trusty64"
  config.ssh.username = "shash"
  config.ssh.forward_agent = true
  config.ssh.private_key_path = "~/.ssh/authorized_keys"

我可以使用 ssh -p '2222' 'shash@127.0.0.1' 直接登录,但当我执行 vagrant up 命令时,一直出现以下错误:

default: Warning: Connection timeout. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...

任何帮助解决这个问题都非常感激。谢谢!
提供完整的设置指南将非常有帮助。
2个回答

1
将其添加到Vagrantfile中:
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. 你的私钥必须可用于本地 ssh-agent。你可以使用 ssh-add -L 进行检查,如果没有列出,请使用 ssh-add ~/.ssh/id_rsa 添加它
  3. 不要忘记将你的公钥添加到 Vagrant VM 上的 ~/.ssh/authorized_keys 中。你可以复制粘贴或使用类似 ssh-copy-id 的工具来完成

https://dev59.com/SWAh5IYBdhLWcg3wBPXY#23554973


1
当您指定“〜”时,vagrant文件将访问该用户的主目录。
config.ssh.private_key_path = "/home/shash/.ssh/authorized_keys"
试一下吧!

我试过了,但它就是不工作。:( 还有其他选项可以尝试吗? - Shash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接