我刚刚在私人服务器上安装了Gitlab 7.3.2。然后我创建了一个新项目,一个具有有效ssh密钥的新用户。
当我尝试克隆测试项目时,它会抛出Permission denied(publickey)。 在以前的版本中,我必须检查/ home / git文件夹的设置或类似的东西,但现在这个文件夹不存在。
关于如何解决这个问题的任何想法?
ssh -vT git@git.xxx.xx
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /home/xxx/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to git.xxx.xx [xx.xx.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /home/xxx/.ssh/id_rsa type 1
debug1: identity file /home/xxx/.ssh/id_rsa-cert type -1
debug1: identity file /home/xxx/.ssh/id_dsa type -1
debug1: identity file /home/xxx/.ssh/id_dsa-cert type -1
debug1: identity file /home/xxx/.ssh/id_ecdsa type -1
debug1: identity file /home/xxx/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/xxx/.ssh/id_ed25519 type -1
debug1: identity file /home/xxx/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA b0:a2:51:5b:b9:a7:e9:be:0c:5c:0b:51:e1:c8:c9:5e
debug1: Host 'git.xxx.xx' is known and matches the ECDSA host key.
debug1: Found key in /home/xxx/.ssh/known_hosts:3
debug1: ssh_ecdsa_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
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/xxx/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/xxx/.ssh/id_dsa
debug1: Trying private key: /home/xxx/.ssh/id_ecdsa
debug1: Trying private key: /home/xxx/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
答案 0 :(得分:1)
好吧我的烂摊子,git没有被授权通过ssh连接。我更新了ssh配置以增加安全性......
现在它工作正常。
答案 1 :(得分:1)
如果其他人发现了这个问题并且遇到了同样的问题,但是authorized_keys文件已经完好无损且本地密钥似乎没问题(或者,就像我的情况一样,一切都很好,直到yum更新并重启),试试这个:
sudo gitlab-ctl reconfigure
答案 2 :(得分:0)
尝试同时推送https
网址而不是ssh
,这样可以省去很多麻烦 - 例如如何使用它:
git remote add origin https://gitlab.com/someuser/algorithm-excercises.git
而不是:
`git remote add origin git@gitlab.com:someuser / algorithm-excercises.git