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



I 目前使用一些服务器来做一些基准测试。 我需要登录多个服务器并 git 克隆...来自阿森布拉。

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

启用 SSH 代理转发

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

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

Host intermediate.server.name
    ForwardAgent yes

在服务器上,默认设置是启用代理转发,但万一已被禁用,您应确保以下行在服务器的固态混合硬盘配置(通常为 /etc/sshd_config (。

AllowAgentForwarding yes

GitHub 有一篇关于使用 SSH 代理转发的好文章,其中引用了 Steve Friedl 的综合 SSH 代理转发指南。

最新更新