【发布时间】:2019-06-03 20:39:47
【问题描述】:
基本问题是每次执行 git pull 都会要求输入密码。
服务器
我有一个 2 台服务器设置。 Server1 托管 git 远程源。 server1 和 server2 都从该 server1 源拉取到它们的 Web 可访问文件夹中。
用户
两台服务器上都有相同的 2 个用户:一个管理员用户和一个文件用户。 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 上的源更改为 ssh://server1admin@server1/git_repos/repo.git,我会被要求输入 server1admin 用户的密码。
关于我应该看什么来弄清楚为什么需要密码的任何想法?
【问题讨论】:
-
第一步是检查 server1 上的
.ssh/authorized_keys。在 server2 上,执行ssh server1file@server1无需登录即可工作? -
@RandolphCarter 是的,在 server2 上以两个用户的身份登录,
ssh server1file@server1成功。我最终添加了一些更多的 authorized_keys 条目,允许 server1 用户 ssh 作为 server2file,一切都开始工作了。希望我知道原因,但我很高兴它起作用了。
标签: linux git authentication ssh remote-access