在具有共享用户的公共服务器上使用git私钥的最佳实践

时间:2014-12-17 00:40:56

标签: git ssh private-key assembla

我目前使用一些服务器来做一些基准测试。我需要从assembla登录到多个服务器和git clone ....

目前,我将私钥复制到服务器,然后更新.ssh/config文件。虽然我与其他人共享此用户和服务器来做他们的基准测试。最佳做法是什么(不为服务器上的每个人创建新用户)。无论如何我可以使用ssh-add键然后在服务器上使用git并拉出repo而不将密钥存储在服务器上?

1 个答案:

答案 0 :(得分:0)

启用SSH代理转发

由于您使用的是基于密钥的身份验证,因此最佳解决方案是允许 通过安全通道转发身份验证代理连接。 如果您的公钥存储在最后一台服务器上,则无需存储您的公钥 中间主机上的相应私钥。

由于默认客户端设置,因此转发身份验证 代理到远程主机,您应该在客户端启用代理转发 组态。将以下行添加到~/.ssh/config

Host intermediate.server.name
    ForwardAgent yes

在服务器上,默认设置是启用代理转发,但如果有,则启用代理转发 如果已禁用,则应确保在以下行中取消注释 服务器的SSHD配置(通常是/etc/sshd_config)。

AllowAgentForwarding yes

GitHub在Using SSH agent forwarding上有一篇很好的文章,引用史蒂夫弗里德的全面Guide to SSH Agent Forwarding