2013-04-16 18 views
3

當我嘗試混帳推,我得到的通常的錯誤GitLab 5.0:通過SSH推送操作失敗,但與HTTPS或直接SSH連接沒有錯誤

致命的:無法從遠程存儲庫中讀取。

請確保您擁有正確的訪問權限 並存在存儲庫。

但是,推拉通過HTTPS正常工作。

我想這將是與SSH然後一個問題,但連接似乎並沒有產生任何錯誤,它接受我的公鑰,給我的歡迎消息並退出以0

$ ssh -vT [email protected] 
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011 
debug1: Reading configuration data /Users/adam/.ssh/config 
debug1: Reading configuration data /etc/ssh_config 
debug1: /etc/ssh_config line 20: Applying options for * 
debug1: Connecting to git.server.com [420.420.555.555] port 22. 
debug1: Connection established. 
debug1: identity file /Users/adam/.ssh/id_rsa type 1 
debug1: identity file /Users/adam/.ssh/id_rsa-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_5.9 
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 96:cc:........ 
debug1: Host 'git.server.com' is known and matches the RSA host key. 
debug1: Found key in /Users/adam/.ssh/known_hosts:2 
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,password 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: /Users/adam/.ssh/id_rsa 
debug1: Server accepts key: pkalg ssh-rsa blen 279 
debug1: Authentication succeeded (publickey). 
Authenticated to git.server.com ([257.257.257.257]:22). 
debug1: channel 0: new [client-session] 
debug1: Requesting [email protected] 
debug1: Entering interactive session. 
debug1: Remote: Forced command. 
debug1: Remote: Port forwarding disabled. 
debug1: Remote: X11 forwarding disabled. 
debug1: Remote: Agent forwarding disabled. 
debug1: Remote: Pty allocation disabled. 
debug1: Remote: Forced command. 
debug1: Remote: Port forwarding disabled. 
debug1: Remote: X11 forwarding disabled. 
debug1: Remote: Agent forwarding disabled. 
debug1: Remote: Pty allocation disabled. 
debug1: Sending environment. 
debug1: Sending env LANG = en_GB.UTF-8 
Welcome to GitLab, ! 
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0 
debug1: channel 0: free: client-session, nchannels 1 
Transferred: sent 2512, received 2968 bytes, in 0.5 seconds 
Bytes per second: sent 5567.4, received 6578.0 
debug1: Exit status 0 

運行此命令失敗,雖然

ssh [email protected] "ls /home/git/repositories/adam/my-repo.git" 
+0

您正在使用哪個GitLab版本? – VonC

+0

@VonC 5.0。它在標題中。爲了確認,我已經檢查了'5-0-stable'分支 –

+0

對不起,我應該閱讀標題;)5.0表示沒有'gitolite'。但是它的替代品'gitlab-shell'會拒絕任何非git命令,這就解釋了爲什麼'ls'會失敗。 – VonC

回答

2

看起來像當前bug 3424

你需要確保:

  • Gitlab應用(與sidekiq消費者)和Redis的開始
  • 的配置是正確的配置問題

例子:

放鬆了一下,審查所有我的配置後文件,我發現我的問題,這是我的錯當然

沒有想到,當我配置我的服務器,在/etc/hosts文件我將名稱x.m.com添加到回送IP地址(127.0.0.1)。
因此,在本地服務器上執行的任何網絡調用都將使用該IP,而不是NginX實際綁定到GitLab服務器的IP。

其他例如:

我能夠通過改變nginx的配置,以聽*來解決我的問題:80,而不是具體的IP。顯然由於防火牆不同的內部和外部IP。

listen *:80 default_server; 

這最後的配置錯誤是在細節issues/3384討論。


最後一個版本5.1幫助,如the commentsOP Adam-E報告,有以下步驟:

  • 換出的Apache2爲nginx的,
  • 沒有一個乾淨的安裝的剛剛發佈GitLab 5。1穩定和
  • 截斷/home/git/.ssh/authorized_keys
  • 讀我的公鑰。

自從最後一步開始工作。

+0

就我而言,我使用Passenger運行Apache。它工作正常,我沒有與另一個GitLab +乘客安裝此問題。不知道在這種情況下有什麼不同。我會繼續調查。 –

+0

@ Adam-E我自己使用Apache與乘客:https://github.com/VonC/compileEverything/blob/master/gitlab/apache.cnf.tpl但是這個錯誤是關於你正在監聽的端口(Apache或NGiNX) – VonC

+0

不錯的項目。我出演了它。但是,爲什麼Apache的端口號正在監聽不是通過HTTPS進行克隆的問題,而是通過SSH進行的?爲了記錄,我在我的網站配置中有' ServerName git.server.com'。 –