GIT从远程原点拉取忽略SSH密钥 - 要求输入密码

时间:2014-01-14 15:43:32

标签: linux git authentication ssh remote-access

基本问题是,每次执行git pull时,都会要求输入密码。不幸的是,情况有点复杂,所以在我尝试解释时请与我一起露出。

服务器

我有2台服务器设置。 Server1托管git远程源。 server1和server2都从该server1源启动到其可通过Web访问的文件夹中。

用户

两个服务器上同样有​​两个用户:管理员用户和文件用户。 admin用户具有以root身份运行的能力,文件用户拥有这些文件。两个用户属于同一组。文件用户和组拥有Web可访问文件,在server1上拥有远程源文件。

SSH

server1admin,server2admin和server2file用户已经使用公钥设置为ssh作为server1file用户,如果我尝试直接从命令行ssh,一切都按预期工作。

GIT

在server1上,git源是/git_repos/repo.git

在server2上,git源是ssh://server1file@server1/git_repos/repo.git

问题,改述

当我以server2admin身份登录server2并执行git pull时,我被问到server1file用户的密码,我不知道为什么。

奇怪的是,如果我将server2上的origin更改为ssh://server1admin@server1/git_repos/repo.git,我会被要求输入server1admin用户的密码。

关于为什么需要输入密码我应该注意什么?

2 个答案:

答案 0 :(得分:0)

尝试在服务器2上运行命令ssh-add

答案 1 :(得分:0)

虽然我不确定原因,但将server1file和server1admin用户添加到server2file用户的authorized_keys文件修复了该问题。