2015-04-03 273 views
2

我已經使用Omnibus安裝了GitLab 7.9.1。Gitlab在克隆git存儲庫時提示輸入git密碼

一切正常。當我做一個gitlab-rake gitlab時:檢查,我沒有得到任何錯誤。

但是,當我想克隆/ var/www中的存儲庫時,控制檯會提示我輸入git密碼。

我在Gitlab界面中添加了SSH密鑰。但是,當我嘗試克隆存儲庫時,它仍然要求我提供git密碼。

您認爲如何?

p.s我想指出,我已經使用了Omnibus安裝,而不是從源代碼安裝。

+0

這表明必需的私鑰不可用於您的SSH客戶端。如果你的私鑰是(a)不是'〜/ .ssh/id_rsa'並且(b)沒有加載到ssh-agent中,你需要明確地指向git。 – larsks 2015-04-03 14:28:38

回答

1

完全忘了提供解決方案。我其實已經解決了這個問題。這是SSH密鑰的問題。

我按照關於如何生成SSH密鑰的gitlabs指南。我沒有正確遵守。我錯過了'ssh-keygen -t rsa -C「中的電子郵件地址****@***.com'''

它現在有效。

0

您是否試圖使用HTTP URL克隆?如果是這樣,git會詢問用戶名和密碼。嘗試使用SSH URL進行克隆;這將使git使用已經設置的SSH密鑰。

3

我遇到了同樣的問題。對我來說,問題在於/ etc/ssh/sshd_config有一個AllowGroups指令,它不包含由gitlab創建的git組(查看/ var/log/secure拼寫出來)。

我將git添加到AllowGroups後面列出的組,運行sudo /sbin/service sshd restart,然後git clone [email protected]按預期工作。同樣,修復後,我可以運行ssh [email protected],並以「歡迎使用GitLab ...」作爲響應,這是一種簡單的方式來確認ssh密鑰設置是否正常,無需訪問特定的回購站。

-1

可能的原因:

  1. 你還沒有加入當地的ssh PUBKEY(的〜/ .ssh/id_rsa.pub)到您的帳戶Gitlab。
  2. 或您的ssh pubkey文件不允許使用文件模式(例如:被他人讀取)。在這種情況下,只是chmod 400 ~/.ssh/id_rsa*