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

标签 git ssh private-key assembla

我目前使用一些服务器来做一些基准测试。我需要从 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/

相关文章:

eclipse - git mv 和 Eclipse 中的重构

node.js - Heroku 部署一个子目录?

git - 宣布 git push -f 而其他人都在做 git pull --rebase 有什么不好

Fedora-33 上的 git(1) CLI 在创建 SSH key 对并将其添加到 Azure DevOps(或 GitHub)后请求密码 -(步骤如下)

ssl - OpenSSL:字段名称缩写有问题吗?

mysql - ubuntu 无法从 mysql 访问密码查询

ssh - SSH配置文件段落可在远程服务器上打开特定目录

bash - 如何在前台循环访问交互式 SSH 连接?

bouncycaSTLe - 访问 PFX 文件 ECC 私钥以在 Java 中生成对称 key

c - BIO_new_mem_buf 未能创建 EVP_PKEY key ``