繁体   English   中英

git pull使用不同的SSH密钥

[英]git pull using different SSH key

我正在尝试将更改纳入回购协议。 回购的来源最初位于其他git服务器上,现在该来源已移至另一台服务器。 在新服务器上,我们有一个名为“ app”的通用用户,在其他计算机上,我们添加了该应用程序用户私钥和一个配置文件,如下所示:

# in /root/.ssh/config
Host gitlab-app
  HostName git.ist
  User git
  IdentityFile /root/.ssh/id_rsa_app
  IdentitiesOnly yes

并可以使用如下命令克隆存储库:

git clone gitlab-app:software-development/my_repo.git

哪个有效。 问题是在特定服务器上,我正在谈论该仓库的消息已经从先前的位置克隆了。 我已将存储库的远程URL更改为新位置,但是在尝试覆盖ssh时,要求输入密码。 我猜是因为在gitlab主机上没有来自此服务器的密钥。 因此,通用的“ app”用户。

我的问题是,当我以root用户身份运行pull命令时,如何配置我的仓库以将应用程序用户密钥用于ssh?

在其他一些线程中,我看到了这一点:

git config core.sshCommand 'ssh -i ~/.ssh/id_rsa_app -F /dev/null'

但这对我没有影响。

好的,所以这是一个简单的解决方案。 当我在服务器上更改存储库的远程URL时,我只是从gitlab页面复制并粘贴了标准URL。 我需要将其更改为:

git@git.ist:software-development/my_repo.git

gitlab-app:software-development/my_repo.git

以便实际使用git配置文件。 就像在克隆链接中一样。

所以基本上:

git remote set-url origin gitlab-app:software-development/my_repo.git

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM