2016-09-30 26 views
1

我試圖推到git的服務器:我如何知道git服務器使用哪種授權方法?

git remote add origin ssh://[email protected]:9922/test 
git push 

這裏的響應:

[email protected]'s password: 

我的密碼,我的SSH密鑰打字,但它失敗。我甚至使用this method檢查密碼的正確性。

三次嘗試失敗後,服務器響應:

Permission denied (publickey,password). 
fatal: Could not read from remote repository. 

這是否意味着該庫也爲密碼保護,不僅SSH保護?或者這只是SSH身份驗證不起作用?

+0

這是失敗的ssh驗證步驟。很可能你沒有正確註冊你的密鑰。 – arkascha

+1

您的鑰匙未使用或未被接受。試試'ssh -vvv [email protected] -p 9922'併發布輸出。您的密鑰位於何處?您是如何生成密鑰並將其傳遞給服務器的? – Jakuje

回答

1

我輸入了我的ssh密碼的密碼,但失敗了。我甚至使用這種方法檢查密碼的正確性。

這是問題的一部分。它不會提示您輸入密碼,而是提示您輸入[email protected]的密碼。換句話說,它會在git.example.com上提示git用戶的密碼 - 而不是密鑰的密碼。

這通常表明您已經設置了錯誤的標誌。一般來說,你的公鑰需要被添加到某個地方,最終會到達authorized_keys文件(取決於服務的實現方式)。此時,該服務會識別您的密鑰並要求進行交換,然後會導致密鑰提示輸入密鑰的密碼(假設您沒有添加正在運行的ssh-agent)。

究竟該如何去做,這取決於在另一端運行的服務。所以沒有任何其他信息,我可以提供的唯一建議是檢查該服務的文檔。

+0

如果它沒有提示輸入密碼,那麼可能沒有添加公鑰 – Dan

0

Git本身不使用任何auth方法。

檢查你的SSH服務器的配置,你可以看看論文文件中的遠程服務器上:

  • /home/git/.ssh/authorized_keys
  • /etc/ssh/sshd_config

或者其他人根據您的SSH服務器的配置。

相關問題