2013-03-18 101 views
1

我想在服務器上使用gitolite作爲我的git文件夾。我用教程搜索了很多博客,但沒有找到一些正確連接到服務器的例子。gitolite配置 - 連接錯誤

因此,我添加了一個新用戶gitolite,並創建了home目錄/ home/gitolite。我將gitolite安裝到了/ home/gitolite/bin,並且使用ssh-key進行了設置。

在我的電腦我成功地克隆gitolite管理員和我產生新的SSH密鑰(試驗,test.pub),它們被保存在的.ssh /:

[email protected]:~$ ls .ssh/t* 
.ssh/test .ssh/test.pub 

下一個:複製「test.pub 「到keydir和修改gitolite.conf:

[email protected]:~$ ls -l gitolite-admin/keydir/ 
-rw-rw-r-- 1 honza honza 396 bře 18 16:46 gitolite.pub 
-rw-r--r-- 1 honza honza 396 bře 18 20:39 test.pub 

[email protected]:~$ cat gitolite-admin/conf/gitolite.conf 
repo gitolite-admin 
    RW+  = gitolite 

repo work 
    RW+  = test 

我把這個變化給服務器:

[email protected]:~/gitolite-admin$ git add . 
[email protected]:~/gitolite-admin$ git commit -m 'add test user' 
[master bff8df5] add test user 
2 files changed, 2 insertions(+), 10 deletions(-) 
create mode 100644 keydir/test.pub 
[email protected]:~/gitolite-admin$ git push 
Counting objects: 10, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (5/5), done. 
Writing objects: 100% (6/6), 774 bytes, done. 
Total 6 (delta 1), reused 0 (delta 0) 
remote: Initialized empty Git repository in /home/gitolite/repositories/work.git/ 
To gitbox:gitolite-admin 
    3102ec2..bff8df5 master -> master 

我想,這是一個正確的PROC edure。現在,我需要克隆新的git存儲庫。在的.ssh/config中我有這樣的:

[email protected]:~$ cat .ssh/config 
Host gitbox 
     User gitolite 
     Hostname 192.168.1.10 
     Port 22 
     IdentityFile ~/.ssh/gitolite 
Host gittest 
     User test 
     Hostname 192.168.1.10 
     Port 22 
     IdentityFile ~/.ssh/test 

和克隆命令:

[email protected]:~/temp$ git clone gittest:work 

問題是在這裏:

Cloning into 'work'... 
[email protected]'s password: 
Permission denied, please try again. 
[email protected]'s password: 
Permission denied, please try again. 
[email protected]'s password: 
Permission denied (publickey,password). 
fatal: The remote end hung up unexpectedly 

爲什麼會問我要密碼?當我生成密鑰時,我沒有輸入密碼(我只按了兩次'輸入')。

感謝您的幫助,我對我的英語:)對不起

編輯:

SSH -vvvT gittest:

[email protected]:~/temp$ ssh -vvvT gittest 
OpenSSH_6.0p1 Debian-3ubuntu1, OpenSSL 1.0.1c 10 May 2012 
debug1: Reading configuration data /home/honza/.ssh/config 
debug1: /home/honza/.ssh/config line 6: Applying options for gittest 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 19: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to 192.168.1.10 [192.168.1.10] port 22. 
debug1: Connection established. 
debug3: Incorrect RSA1 identifier 
debug3: Could not load "/home/honza/.ssh/test" as a RSA1 public key 
debug1: identity file /home/honza/.ssh/test type 1 
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048 
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048 
debug1: identity file /home/honza/.ssh/test-cert type -1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-3ubuntu1 
debug1: match: OpenSSH_6.0p1 Debian-3ubuntu1 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1 
debug2: fd 3 setting O_NONBLOCK 
debug3: load_hostkeys: loading entries for host "192.168.1.10" from file "/home/honza/.ssh/known_hosts" 
debug3: load_hostkeys: found key type ECDSA in file /home/honza/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys 
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],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-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,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: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,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,ecdsa-sha2-nistp256 
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-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,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: sending SSH2_MSG_KEX_ECDH_INIT 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug1: Server host key: ECDSA d6:32:05:31:ea:3a:30:45:31:99:ca:90:b3:53:cb:75 
debug3: load_hostkeys: loading entries for host "192.168.1.10" from file "/home/honza/.ssh/known_hosts" 
debug3: load_hostkeys: found key type ECDSA in file /home/honza/.ssh/known_hosts:1 
debug3: load_hostkeys: loaded 1 keys 
debug1: Host '192.168.1.10' is known and matches the ECDSA host key. 
debug1: Found key in /home/honza/.ssh/known_hosts:1 
debug1: ssh_ecdsa_verify: signature correct 
debug2: kex_derive_keys 
debug2: set_newkeys: mode 1 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug2: set_newkeys: mode 0 
debug1: SSH2_MSG_NEWKEYS received 
debug1: Roaming not allowed by server 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug2: service_accept: ssh-userauth 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug2: key: /home/honza/.ssh/test (0x7fa857d08e60) 
debug1: Authentications that can continue: publickey,password 
debug3: start over, passed a different list publickey,password 
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/honza/.ssh/test 
debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply 
debug1: Authentications that can continue: publickey,password 
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: 

回答

2

您仍然需要使用gitolite用戶進行登錄。 Gitolite將測試用戶的密鑰設置爲授權密鑰,並且知道測試用戶被允許訪問的內容。所以這個:

Host gittest 
     User test 
     Hostname 192.168.1.10 
     Port 22 
     IdentityFile ~/.ssh/test 

應該是這樣的:

Host gittest 
     User gitolite 
     Hostname 192.168.1.10 
     Port 22 
     IdentityFile ~/.ssh/test 
+0

我應該馬上看到它。 +1 – VonC 2013-03-19 04:39:56

+0

謝謝,現在它工作正常:) – 2013-03-19 09:12:32

+0

不客氣! – jszakmeister 2013-03-19 10:33:12

0

您可以檢查SSH -vT gittest的結果,看看它爲什麼要求輸入密碼。
看到「Unable to Git-push master to Github

調試會話例如確保你有合適的保護您的SSH密鑰,無論在honza-sg並在gitolite服務器.ssh目錄。
請參閱「Git SSH authentication」:主要問題通常是.ssh或其任何父目錄上的可寫組。

+0

.... DBG1:ssh_ecdsa_verify:簽名正確 DBG1:SSH2_MSG_NEWKEYS發送 DBG1:期待SSH2_MSG_NEWKEYS DBG1:SSH2_MSG_NEWKEYS收到 DBG1:漫遊服務器不 DBG1允許:SSH2_MSG_SERVICE_REQUEST發送 DBG1:SSH2_MSG_SERVICE_ACCEPT收到 DBG1:身份驗證,可以繼續:公鑰,密碼 DBG1:下一個驗證方法:公鑰 DBG1:發售RSA公鑰:/home/honza/.ssh/test DBG1:身份驗證,可以繼續:公鑰,密碼 DBG1:下一個驗證方法:密碼 [email protected]。 1.10的密碼: – 2013-03-18 21:02:24

+0

即通訊結束'ssh -vT gittest' – 2013-03-18 21:03:07

+0

@ user2107985好的,保護措施如何? – VonC 2013-03-18 21:04:04