而不是创建一个流浪汉框新的SSH密钥对,我想重新使用密钥对我有我的主机上,使用代理转发 。 我试过设置config.ssh.forward_agent在Vagrantfile为TRUE,然后重新启动虚拟机,并尝试使用:
vagrant ssh -- -A
......但我仍然得到提示输入密码,当我尝试做一个git结帐。 任何想法,我缺少什么?
而不是创建一个流浪汉框新的SSH密钥对,我想重新使用密钥对我有我的主机上,使用代理转发 。 我试过设置config.ssh.forward_agent在Vagrantfile为TRUE,然后重新启动虚拟机,并尝试使用:
vagrant ssh -- -A
......但我仍然得到提示输入密码,当我尝试做一个git结帐。 任何想法,我缺少什么?
我使用的是OS X山狮流浪汉2。
Vagrant.configure("2") do |config|
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.ssh.forward_agent = true
end
config.ssh.private_key_path
是当地的私钥 ssh-add -L
,如果它没有列出其添加ssh-add ~/.ssh/id_rsa
~/.ssh/authorized_keys
的流浪VM。 你可以将其复制并粘贴或使用类似工具的ssh-copy-id命令 将它添加到Vagrantfile
Vagrant::Config.run do |config|
# stuff
config.ssh.forward_agent = true
end
http://vagrantup.com/v1/docs/config/ssh/forward_agent.html
除了增加“config.ssh.forward_agent =真”的游民文件确保主机被设置为代理转发。 Github上提供了一个很好的指导了这一点。 (查看故障排除部分)。
我对这个1.4.3工作与上面的答复,但停在1.5工作。 我现在已经运行ssh-add
至1.5充分合作。
现在我下面的行添加到我的ansible配置脚本。 - name: Make sure ssk keys are passed to guest. local_action: command ssh-add
我还创建了我的设置的要点: https://gist.github.com/KyleJamesWalker/9538912
如果你是在Windows上,在流浪SSH转发不正常默认情况下工作(因为在净SSH的一个bug)。 看到这个特别的流浪错误报告: https://github.com/mitchellh/vagrant/issues/1735
然而,有一个解决办法! 通过在你的VagrantFile一个简单的配置脚本简单地自动复制您的本地SSH密钥对流浪VM。 这里有一个例子: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
当我们最近尝试了vagrant-aws
插件与放浪1.1.5,我们遇到了与SSH代理转发的问题。 原来,流浪在强迫IdentitiesOnly=yes
没有一个选项,将其更改为no
。 这迫使流浪只能看看我们列出的私钥Vagrantfile
为AWS提供者。
我写了我们的经验, 一个博客帖子 。 它可能会变成在某些点上拉请求。
真正的问题是流浪使用127.0.0.1:2222作为默认的端口转发。 您可以添加一个(不是2222,2222已默认占用)
config.vm.network “forwarded_port”,嘉宾:22,主持人:2333,host_ip: “0.0.0.0”
“0.0.0.0”的方式采取从外部连接请求。 随后的ssh -p 2333 vagrant@192.168.2.101(改变自己的主机IP地址,哑弹)会工作得很好。 不要谢我,叫我雷锋!
确保虚拟机不会推出自己的SSH代理。 我有这个线在我的~/.profile
eval `ssh-agent`
取出后,SSH代理转发工作。
在Windows上,问题是,流浪汉不知道如何使用git-bash的SSH-agent通信。 它,然而,知道如何使用PuTTY的佳丽。 所以,只要佳丽正在运行,并且加载了您的SSH密钥,只要你设置config.ssh.forward_agent,这应该工作。
请参阅此评论的详细信息。
如果您使用的佳丽,则更新Vagrantfile到SSH密钥的Windows拷贝的解决办法是不再必要。