我目前使用一些服务器来做一些基准测试。我需要从assembla登录到多个服务器和git clone ....
目前,我将私钥复制到服务器,然后更新.ssh/config
文件。虽然我与其他人共享此用户和服务器来做他们的基准测试。最佳做法是什么(不为服务器上的每个人创建新用户)。无论如何我可以使用ssh-add键然后在服务器上使用git并拉出repo而不将密钥存储在服务器上?
答案 0 :(得分:0)
由于您使用的是基于密钥的身份验证,因此最佳解决方案是允许 通过安全通道转发身份验证代理连接。 如果您的公钥存储在最后一台服务器上,则无需存储您的公钥 中间主机上的相应私钥。
由于默认客户端设置不,因此转发身份验证
代理到远程主机,您应该在客户端启用代理转发
组态。将以下行添加到~/.ssh/config
:
Host intermediate.server.name
ForwardAgent yes
在服务器上,默认设置是启用代理转发,但如果有,则启用代理转发
如果已禁用,则应确保在以下行中取消注释
服务器的SSHD配置(通常是/etc/sshd_config
)。
AllowAgentForwarding yes
GitHub在Using SSH agent forwarding上有一篇很好的文章,引用史蒂夫弗里德的全面Guide to SSH Agent Forwarding。