我想在配置流浪盒时克隆一堆私有git存储库。根据{{3}},应该可以使用config.ssh.forward_agent = true
。但是,当尝试通过类似ssh -T git@github.com -o StrictHostKeyChecking=no
之类的东西连接到github时,它失败并出现以下错误:
警告:永久添加' github.com,192.30.252.130' (RSA)到已知主机列表。 权限被拒绝(公钥)。
我将配置缩减到最简单的配置。您可以在此处找到它:this article
当我做" vagrant ssh"并再次尝试相同的错误,发生类似的错误:
克隆到私人存储库' ... 警告:永久添加用于IP地址的RSA主机密钥' 192.30.252.130'到已知主机列表。 权限被拒绝(publickey)。 致命:远程端意外挂断
编辑:上面链接的配置适用于运行Ubuntu的主机,但既不能在Mac主机上运行,也不能在Windows主机上运行。我的目标是使配置适用于所有这三个主机。
答案 0 :(得分:31)
请检查您的主机系统是否启用了ssh-agent转发。您可以这样做,例如将此块添加到~/.ssh/config
文件中:
Host *
ForwardAgent yes
如果启用此功能vagrant ssh
(以及vagrant provision
)应该能够将密钥转发到来宾计算机。
您也可以使用ssh-add -l
检查您的ssh-agent是否知道您的SSH密钥。如果它在列表中并且您已激活代理转发,则应该会成功。否则,您可以通过运行ssh-add <path to your key file>
将密钥添加到ssh-agent。
答案 1 :(得分:6)
听起来你可能会遇到这个特殊的错误: https://github.com/mitchellh/vagrant/issues/1735 (尽管它正在关闭&#34;它实际上并非已修复)
在Windows上,默认情况下,Vagrant中的SSH转发无法正常工作(因为net-ssh中存在错误)。
然而,有一种解决方法或简单的黑客攻击。您可以通过VagrantFile中的简单配置脚本将本地SSH密钥自动复制到Vagrant VM。这是一个例子: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
答案 2 :(得分:2)
汤姆,
您所做的事情在性质上相当普遍,我认为Vagrant
不具体。
尝试以下某些方法来追踪问题:
/etc/ssh/sshd_config
LogLevel debug
sudo service sshd restart
或/etc/init.d/sshd restart
tail -f /var/log/authlog
- 请注意,该文件可能是/var/log/authd.log
或/var/log/secure
之类的内容。再次抱歉,我对Vagrant
并不熟悉,但我想知道配置脚本是否作为另一个用户运行,在这种情况下,代理转发可能无法按预期工作?< / p>