[英]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.