我目前使用一些服务器来做一些基准测试。我需要从 assembla 登录到多个服务器和 git clone ...
目前我将我的私钥复制到服务器,然后更新 .ssh/config
文件。尽管我与其他人共享此用户和服务器以进行基准测试。最佳实践是什么(不为服务器上的每个人创建新用户)。无论如何我可以使用 ssh-add key 然后在服务器上使用 git 并在不将 key 存储在服务器上的情况下提取 repo 吗?
最佳答案
启用 SSH 代理转发
由于您使用的是基于 key 的身份验证,因此最好的解决方案是允许
通过安全 channel 转发身份验证代理连接。
如果您的公钥存储在最后一个服务器上,则无需存储您的
中间主机上对应的私钥。
由于默认客户端设置为 不是 转发认证
代理到远程主机,您应该在客户端中启用代理转发
配置。将以下行添加到您的 ~/.ssh/config
:
Host intermediate.server.name
ForwardAgent yes
在服务器上,默认启用代理转发,但如果它有
被禁用,您应该确保以下行在
服务器的 SSHD 配置(通常是
/etc/sshd_config
)。AllowAgentForwarding yes
GitHub 上有一篇关于 Using SSH agent forwarding 的好文章其中引用了 Steve Friedl 的综合 Guide to SSH Agent Forwarding .
关于git - 在具有共享用户的公共(public)服务器上使用 git 私钥的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516563/