2017-07-04 133 views
0

我知道這是一個非常知名的問題,但請裸露在我身邊。解決gitlab的ssh密鑰克隆/推/拉

我嘗試以下解決方案,所以我也generated newssh keygitlab帳戶,當我做ssh -v [email protected]我有Permissions denied (publickey).

第二種解決方案是Working with non-default SSH key pair paths,所以我產生了新的鍵,它將和我~/.ssh/config正在尋找這樣

# GitLab.com server               
    Host gitlab.com 
    RSAAuthentication yes 
    IdentityFile ~/.ssh/id_rsa_gitlab.pub 

兩個鍵的添加​​到我的gitlab帳戶,當我嘗試troubleshoot SSH有: ssh -i ~/.ssh/id_rsa_gitlab.pub -p 122 [email protected]我已經沒有什麼,從字面上看,當我鍵入到終端什麼都沒發生,而當我鍵入shh -vvv [email protected]結果是這樣的:

OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 Mar 2016 
debug1: Reading configuration data /home/petar/.ssh/config 
debug1: /home/petar/.ssh/config line 2: Applying options for gitlab.com 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 19: Applying options for * 
debug2: resolving "gitlab.com" port 22 
debug2: ssh_connect_direct: needpriv 0 
debug1: Connecting to gitlab.com [52.167.219.168] port 22. 
debug1: Connection established. 
debug1: identity file /home/petar/.ssh/id_rsa_gitlab.pub type 1 
debug1: key_load_public: No such file or directory 
debug1: identity file /home/petar/.ssh/id_rsa_gitlab.pub-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 pat OpenSSH* compat 0x04000000 
debug2: fd 3 setting O_NONBLOCK 
debug1: Authenticating to gitlab.com:22 as 'git' 
debug3: hostkeys_foreach: reading file "/home/petar/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /home/petar/.ssh/known_hosts:3 
debug3: load_hostkeys: loaded 1 keys from gitlab.com 
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],ecdsa-sha2-nistp384-cert-[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 
debug3: send packet: type 20 
debug1: SSH2_MSG_KEXINIT sent 
debug3: receive packet: type 20 
debug1: SSH2_MSG_KEXINIT received 
debug2: local client KEXINIT proposal 
debug2: KEX algorithms: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,ext-info-c 
debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa 
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc 
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc 
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,[email protected],zlib 
debug2: compression stoc: none,[email protected],zlib 
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal 
debug2: KEX algorithms: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 
debug2: host key algorithms: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] 
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] 
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 
debug2: compression ctos: none,[email protected] 
debug2: compression stoc: none,[email protected] 
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: [email protected] 
debug1: kex: host key algorithm: ecdsa-sha2-nistp256 
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none 
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none 
debug3: send packet: type 30 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug3: receive packet: type 31 
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw 
debug3: hostkeys_foreach: reading file "/home/petar/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /home/petar/.ssh/known_hosts:3 
debug3: load_hostkeys: loaded 1 keys from gitlab.com 
debug3: hostkeys_foreach: reading file "/home/petar/.ssh/known_hosts" 
debug3: record_hostkey: found key type ECDSA in file /home/petar/.ssh/known_hosts:4 
debug3: load_hostkeys: loaded 1 keys from 52.167.219.168 
debug1: Host 'gitlab.com' is known and matches the ECDSA host key. 
debug1: Found key in /home/petar/.ssh/known_hosts:3 
debug3: send packet: type 21 
debug2: set_newkeys: mode 1 
debug1: rekey after 134217728 blocks 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug3: receive packet: type 21 
debug2: set_newkeys: mode 0 
debug1: rekey after 134217728 blocks 
debug1: SSH2_MSG_NEWKEYS received 
debug2: key: /home/petar/.ssh/id_rsa_gitlab.pub (0x562dd6bb8c80), explicit, agent 
debug2: key: [email protected] (0x562dd6bbde10), agent 
debug3: send packet: type 5 
debug3: receive packet: type 7 
debug1: SSH2_MSG_EXT_INFO received 
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512> 
debug3: receive packet: type 6 
debug2: service_accept: ssh-userauth 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug3: send packet: type 50 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug3: start over, passed a different list publickey 
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive,password 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: /home/petar/.ssh/id_rsa_gitlab.pub 
debug3: send_pubkey_test 
debug3: send packet: type 50 
debug2: we sent a publickey packet, wait for reply 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug1: Offering RSA public key: [email protected] 
debug3: send_pubkey_test 
debug3: send packet: type 50 
debug2: we sent a publickey packet, wait for reply 
debug3: receive packet: type 51 
debug1: Authentications that can continue: publickey 
debug2: we did not send a packet, disable method 
debug1: No more authentication methods to try. 
Permission denied (publickey). 

有人可以請解釋我如何解決這個問題,謝謝。

+0

嘗試使用'-vvv'進行超詳細輸出 – snoopy

+0

我做了,更新了我的問題,就像他沒有找到我的鑰匙,這部分是'debug1:identity file /home/petar/.ssh/id_rsa_gitlab.pub type 1 debug1:key_load_public:沒有這樣的文件或目錄,但我不明白爲什麼? – PetarP

回答

2

IdentityFile應指向私鑰,不公鑰:

IdentityFile ~/.ssh/id_rsa_gitlab 
+0

是真的,我確實''評價$(ssh-agent -s) ssh-add〜/ .ssh/other_id_rsa'但我仍然獲得'permission denied(公鑰)' – PetarP

+0

你是哪一個鍵圍繞這個問題使用的是那個被添加到gitlab中的呢?請不要生成任何更多的密鑰,並使用您添加到gitlab中的那個密鑰。 – Jakuje

+0

等待,我使用git'〜/ .ssh/id_rsa_gitlab','ssh -vvv git @ gitlab'的輸出在問題中,我沒有生成任何更多密鑰,但我不明白爲什麼他在'〜/ .ssh /'中找不到我的密鑰'' – PetarP

0

由於@Jakuje建議我在IdentityFile犯了一個錯誤,而且我不知道這gitlab正在上演專用服務器上所以,如果你想克隆私人gitlab一個版本庫,你需要做到這一點

git clone [email protected]_address_of_the_server:SomeName/ProjectName.git,你將能夠成功地克隆庫,但是你首先需要ssh鍵添加到您的gitlab配置文件。

您也可以git clone使用它http,那麼你需要做

http://server_ip_address/SomeName/ProjectName.git,你會提示您usernamepassword

相關問題