我正在尝试将部署 key 用于属于组织的存储库(我是该组织的管理员)。
我创建了一个私钥/公钥对,公钥被粘贴到“部署 key ”窗口中,并被接受。然后我尝试通过 git pull
连接从远程存储库:
git add origin git@myserver.com:/organization/therepo.git
git pull
我一直被要求输入用户的密码
git
.我尝试使用用户 git
, gogs
, <my login>
, <the name or the organization>
-- 每次都要求我输入密码。我尝试了一个简单的
ssh -v
检查提供给 gogs 的 key :它是正确的(上面的私钥,对应于部署(公钥) key )。我应该使用哪个用户来连接?
最佳答案
故障排除想法的所有功劳归于 David Cullen (通过他的评论)
问题是 我打错了sshd
服务 .
我的 GOGS 服务在 docker 和 ssh
中运行端口与主机服务器之一不同(这是我使用默认端口 22 调用的):
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
86ddbabc8cbb gogs/gogs "docker/start.sh /bin" 13 days ago Up 3 minutes 0.0.0.0:3000->3000/tcp, 0.0.0.0:10022->22/tcp gogs
通过使用这样的 ~/.ssh/config 文件
Host my.git.server.com
Port 10022
IdentityFile /var/www/.ssh/my.private.key.openssh
IdentitiesOnly yes
我现在成功地从远程服务器拉取了 GOGS 存储库:
$ git pull ssh://git@my.git.server.com:/organisation/therepo
From ssh://my.git.server.com:/organisation/therepo
* branch HEAD -> FETCH_HEAD
Already up-to-date.
请注意这里有 是 前斜线
organisation
(回复:初步评论)
关于gogs - 哪个用户与部署 key 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38126276/