我有一台装有 CentOS 6.6 版(最终版)的旧服务器,git 版本为 git 版本 1.7.1
我需要拉取不同的 Github 项目。通过一个通用的身份验证系统,多个人可以共享对服务器的访问权限。
考虑到上述环境无法改变或升级。
我有以下问题。我已经成功连接到 git repo 并通过定义 Deploykey 来处理它,这是我实际定义的唯一键:
/home/dev-user/.ssh/id_rsa.pub
现在我尝试添加相同的部署密钥来管理不同的 github 存储库。但是 github 给出了错误,密钥已被使用。
所以我正在考虑创建多个 id_rsa_reponame.pub ssh 密钥来将我的 github repo(主要)拉到该服务器。
在这种情况下,这可以被视为最佳实践吗? ID 是...如何创建不同的命名公钥以用作 github repo 上的部署密钥?
欢迎采用任何其他方法解决此问题。
谢谢
更新
我已经在另一台开发机器上测试了以下内容。在这台机器上,我已经有一个
/home/username/id_rsa.pub
已定义为 GitHub repo 上的部署密钥并正常工作。
然后我发出命令:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
当出现提示时,我给密钥赋予了不同的名称,例如:
/home/username/id_rsa_mytest.pub
然后我复制了该文件的内容并将其设置为另一个 repo 的部署密钥。
我尝试 git 克隆:
git clone [email protected]:githubAccount/myrepo.it
但得到:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
我相信本地机器不会自动尝试使用我的所有公钥通过 ssh 连接到 github。
我怎样才能实现这个目标?
答案1
我找到了我所寻找的解决方案;感谢以下资源:
这篇文章中有一点不太直接/清晰。这句话是:
Host github-repo2
在配置文件中
~/.ssh/config
就像是随后发出命令时使用的自定义名称:
git clone github-repo2:yourgithubuser/repo2
其实“主机”这个术语并不是那么友好,无法让你理解他在配置中的作用。(它是使用特定标识文件作为用户名@主机名的引用)