哪个用户使用部署密钥?

时间:2016-06-30 14:34:28

标签: gogs

我正在尝试将部署密钥用于属于组织的存储库(我是管理员)。

我创建了一个私钥/公钥对,公众被粘贴到了部署密钥中。窗口,并接受。然后我尝试通过git pull从远程存储库连接:

git add origin git@myserver.com:/organization/therepo.git
git pull

我一直被要求输入用户git的密码。我尝试使用用户gitgogs<my login><the name or the organization> - 我每次都会被要求输入密码。

我尝试了一个简单的ssh -v来检查向gogs提供了哪个密钥:它是正确的密钥(上面的私钥,对应于部署(公共)密钥)。

我应该使用哪个用户进行连接?

1 个答案:

答案 0 :(得分:4)

故障排除提示的所有功劳归于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之前的斜线(re:初步评论)