2013-04-01 153 views
2

我在CentOS 6.4服務器上全新安裝了GitLab。使用SSH的Git存儲庫

在此之前,我只是使用Github(在HTTP模式下),所以我對這一切都很陌生。

我爲我的用戶創建了一個密鑰,將它添加到〜/ .ssh/authorized_keys和GitLab中。

ssh-keygen -t rsa -C "[email protected]" 
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

但是,當我試圖推動新的承諾,我的回購協議,它不問我的用戶,但只爲Git的用戶密碼(和失敗):

git push origin master 
[email protected]'s password: 
fatal: 'arthur/repo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

我不我真的明白它是如何工作的,我錯過了什麼?

編輯:

ssh -vvvT [email protected] 
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to git.hoa.ro [88.191.160.53] port 22. 
debug1: Connection established. 
debug1: permanently_set_uid: 0/0 
debug1: identity file /root/.ssh/identity type -1 
debug1: identity file /root/.ssh/id_rsa type -1 
debug1: identity file /root/.ssh/id_dsa type -1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 
debug1: match: OpenSSH_5.3 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_5.3 
debug2: fd 3 setting O_NONBLOCK 
debug1: SSH2_MSG_KEXINIT sent 
debug3: Wrote 792 bytes for a total of 813 
debug1: SSH2_MSG_KEXINIT received 
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss 
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: kex_parse_kexinit: none,[email protected],zlib 
debug2: kex_parse_kexinit: none,[email protected],zlib 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss 
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] 
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: kex_parse_kexinit: none,[email protected] 
debug2: kex_parse_kexinit: none,[email protected] 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_setup: found hmac-md5 
debug1: kex: server->client aes128-ctr hmac-md5 none 
debug2: mac_setup: found hmac-md5 
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 
debug3: Wrote 24 bytes for a total of 837 
debug2: dh_gen_key: priv key bits set: 120/256 
debug2: bits set: 504/1024 
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent 
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY 
debug3: Wrote 144 bytes for a total of 981 
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts 
debug3: check_host_in_hostfile: match line 1 
debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts 
debug3: check_host_in_hostfile: match line 1 
debug1: Host 'git.hoa.ro' is known and matches the RSA host key. 
debug1: Found key in /root/.ssh/known_hosts:1 
debug2: bits set: 511/1024 
debug1: ssh_rsa_verify: signature correct 
debug2: kex_derive_keys 
debug2: set_newkeys: mode 1 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug3: Wrote 16 bytes for a total of 997 
debug2: set_newkeys: mode 0 
debug1: SSH2_MSG_NEWKEYS received 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug3: Wrote 48 bytes for a total of 1045 
debug2: service_accept: ssh-userauth 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug2: key: /root/.ssh/identity ((nil)) 
debug2: key: /root/.ssh/id_rsa ((nil)) 
debug2: key: /root/.ssh/id_dsa ((nil)) 
debug3: Wrote 80 bytes for a total of 1125 
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password 
debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic,password 
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password 
debug3: authmethod_lookup gssapi-keyex 
debug3: remaining preferred: gssapi-with-mic,publickey,keyboard-interactive,password 
debug3: authmethod_is_enabled gssapi-keyex 
debug1: Next authentication method: gssapi-keyex 
debug1: No valid Key exchange context 
debug2: we did not send a packet, disable method 
debug3: authmethod_lookup gssapi-with-mic 
debug3: remaining preferred: publickey,keyboard-interactive,password 
debug3: authmethod_is_enabled gssapi-with-mic 
debug1: Next authentication method: gssapi-with-mic 
debug3: Trying to reverse map address 88.191.160.53. 
debug1: Unspecified GSS failure. Minor code may provide more information 
Credentials cache file '/tmp/krb5cc_0' not found 

debug1: Unspecified GSS failure. Minor code may provide more information 
Credentials cache file '/tmp/krb5cc_0' not found 

debug1: Unspecified GSS failure. Minor code may provide more information 


debug1: Unspecified GSS failure. Minor code may provide more information 
Credentials cache file '/tmp/krb5cc_0' not found 

debug2: we did not send a packet, disable method 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive,password 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Trying private key: /root/.ssh/identity 
debug3: no such identity: /root/.ssh/identity 
debug1: Trying private key: /root/.ssh/id_rsa 
debug3: no such identity: /root/.ssh/id_rsa 
debug1: Trying private key: /root/.ssh/id_dsa 
debug3: no such identity: /root/.ssh/id_dsa 
debug2: we did not send a packet, disable method 
debug3: authmethod_lookup password 
debug3: remaining preferred: ,password 
debug3: authmethod_is_enabled password 
debug1: Next authentication method: password 
[email protected]'s password: 

回答

1

我已經創建了我的用戶的關鍵,它添加在〜/ .ssh/authorized_keys文件和GitLab

你應該不會增加你的公開鍵入~/.ssh/authorized_keys:修改的唯一authorized_keys文件是:

  • one on GitLab s IDE
  • 通過GitLab本身完成(當您通過GitLab GUI添加SSH公鑰到您的帳戶)

你需要一個私人/公共SSH密鑰id_rsa/id_rsa.pub$HOME/.ssh在客戶端創建(或%HOME%/.sshon Windows),並通過GitLab GUI註冊公鑰。

+0

你說得對。該密鑰在'〜/ .ssh/authorized_keys'中出現了兩次。我已經刪除了「手冊」。但它並不能解決問題。 – Arthur

+0

@Arthur是否已通過GitLab GUI聲明瞭一個項目「repo」?你在'〜gitlab/repositories'裸回購中看到一個'arthur/repo.git'嗎?你的SSH工作嗎(從客戶端來看,'ssh -vvvT git @ git.domain.tld'返回什麼?只要它要求輸入密碼,任何git命令都不能正常工作) – VonC

+0

我已經通過GUI創建回購。它工作正常(我已經導入我的Github回購)。 「arthur/repo.git」存在,其中有git樹狀結構。顯然有些問題,請參閱我的帖子編輯中的'ssh -vvvT'回答。 – Arthur

相關問題