【问题标题】:GitLab SSH requests password and ignoring SSH KeysGitLab SSH 请求密码并忽略 SSH 密钥
【发布时间】:2024-06-11 08:55:01
【问题描述】:

我在 CentOS 6 机器上安装了全新的 gitlab-omnibus,我已经正确配置它并且可以访问 Web 界面,我已经添加了我的 SSH 密钥但是当我尝试 Git 克隆一个新设置的存储库时,我是通过 SSH 要求 Git 用户的密码。我已经用三台不同的机器和三个不同的帐户尝试过这个,但问题仍然存在。

这是来自详细 SSH 的输出

╭─jacobclark@Jacobs-MacBook-Pro  ~  
╰─$ ssh -vT git@gitlab                                                                                                                                                                     130 ↵
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to gitlab [37.26.93.221] port 22.
debug1: Connection established.
debug1: identity file /Users/jacobclark/.ssh/id_rsa type 1
debug1: identity file /Users/jacobclark/.ssh/id_rsa-cert type -1
debug1: identity file /Users/jacobclark/.ssh/id_dsa type -1
debug1: identity file /Users/jacobclark/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA a1:62:aa:51:0c:20:f3:3e:10:17:c7:20:a4:0b:7b:16
debug1: Host 'gitlab.' is known and matches the RSA host key.
debug1: Found key in /Users/jacobclark/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/jacobclark/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /Users/jacobclark/.ssh/id_dsa
debug1: Next authentication method: password
git@gitlab's password: 

【问题讨论】:

标签: linux git ssh centos gitlab


【解决方案1】:

需要关闭selinux:setenforce 0

【讨论】:

    【解决方案2】:

    我在 CentO 上遇到了完全相同的问题,原来是由于 Centrify 被用来管理 ssh 密钥,这是非标准的,但我们公司服务器管理流程的一部分。

    我不太熟悉 Centrify,因为它由另一个团队管理,但我通过从 gitlab 授权密钥文件创建符号链接到 /etc/sshd/auth-keys/git 解决了这个问题。

    authorizedkeys 文件值给了我符号链接需要去的位置,由sshd -T 确定

    这解决了我的问题:

    ln -s /var/opt/gitlab/.ssh/authorized_keys /etc/ssh/auth-keys/git
    

    【讨论】: