基本问题是,每次执行git pull时,都会要求我输入密码。
服务器
我有一个2服务器的设置。Server1承载git远程源。server1和server2都从server1的源位置拉入其web可访问的文件夹。
用户
两台服务器上都有相同的两个用户:一个管理员用户和一个文件用户。管理员用户可以充当root用户,而文件用户拥有这些文件。两个用户属于同一组。文件用户和组拥有web可访问的文件,在服务器1上拥有远程原始文件。
SSH
server1admin、server2admin和server2file用户已经被设置为使用公钥作为server1file用户进行ssh,如果我尝试直接从命令行进行ssh,一切都可以正常工作。
吉特
在服务器1上,git原点为/git_repos/repo.git
在server2上,git原点为ssh://server1file@server1/git_repos/repo.git
问题,重新表述
当我以server2admin的身份登录到server2并执行git pull时,我会被要求提供server1file用户的密码,但我不知道为什么。
奇怪的是,如果我将server2上的原点更改为ssh://server1admin@server1/git_repos/report.git,我被要求提供server1admin用户的密码。
有什么想法吗?我应该看看什么来弄清楚为什么密码是必要的?
尝试在服务器2 上运行命令ssh-add
虽然我不确定原因,但将server1file和server1admin用户添加到server2file用户的authorized_keys文件中解决了这个问题。