2012-07-28 21 views
2

我這裏有可能是客戶端問題的一個特殊問題。但是,我收到服務器錯誤。所以,請看一遍,也許你會同意我的觀點,這是一個很奇怪的問題,希望大家幫我解決吧:)Uncomon的Git服務器錯誤:「拒絕PUBKEY」(但關鍵是測試有效)

這裏是我的情況:

我有一個安裝在家裏使用Git和Gitolite服務器的關鍵認證工作。直到上週,我的私鑰和公鑰才被驗證並正常工作。現在在我的客戶端計算機#1上,我無法從我的Git服務器上推/拉任何參考。

我曾嘗試使用完全相同的庫(安裝同一驅動器上)相同的密鑰,但我的筆記本電腦,我的服務器將接受的關鍵...

我試圖卸載/重裝混帳,產生其它密鑰對,重新檢查我的SSH配置,重新啓動我的服務器服務,但沒有任何作用。當我檢查調試模式我的SSH的日誌,我幾乎沒有得到任何有關錯誤的詳細信息:

Jul 28 06:46:28 git-server sshd[5100]: debug1: Forked child 19124. 
Jul 28 06:46:28 git-server sshd[19124]: Set /proc/self/oom_adj to 0 
Jul 28 06:46:28 git-server sshd[19124]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8 
Jul 28 06:46:28 git-server sshd[19124]: debug1: inetd sockets after dupping: 3, 3 
Jul 28 06:46:28 git-server sshd[19124]: Connection from xx.xx.xx.xx port 53847 
Jul 28 06:46:28 git-server sshd[19124]: debug1: Client protocol version 2.0; client software version PuTTY_Local:_Jun__3_2012_14:48:17 
Jul 28 06:46:28 git-server sshd[19124]: debug1: no match: PuTTY_Local:_Jun__3_2012_14:48:17 
Jul 28 06:46:28 git-server sshd[19124]: debug1: Enabling compatibility mode for protocol 2.0 
Jul 28 06:46:28 git-server sshd[19124]: debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze1 
Jul 28 06:46:28 git-server sshd[1002]: debug1: server_input_channel_req: channel 0 request [email protected] reply 1 
Jul 28 06:46:28 git-server sshd[1002]: debug1: session_by_channel: session 0 channel 0 
Jul 28 06:46:28 git-server sshd[1002]: debug1: session_input_channel_req: session 0 req [email protected] 
Jul 28 06:46:29 git-server sshd[19124]: debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-1024 
Jul 28 06:46:29 git-server sshd[19124]: debug1: Checking blacklist file /etc/ssh/blacklist.RSA-1024 
Jul 28 06:46:29 git-server sshd[19124]: debug1: temporarily_use_uid: 1001/1001 (e=0/0) 
Jul 28 06:46:29 git-server sshd[19124]: debug1: trying public key file /home/gitolite/.ssh/authorized_keys 
Jul 28 06:46:29 git-server sshd[19124]: debug1: fd 4 clearing O_NONBLOCK 
Jul 28 06:46:29 git-server sshd[19124]: debug1: restore_uid: 0/0 
Jul 28 06:46:29 git-server sshd[19124]: debug1: temporarily_use_uid: 1001/1001 (e=0/0) 
Jul 28 06:46:29 git-server sshd[19124]: debug1: trying public key file /home/gitolite/.ssh/authorized_keys 
Jul 28 06:46:29 git-server sshd[19124]: debug1: fd 4 clearing O_NONBLOCK 
Jul 28 06:46:29 git-server sshd[19124]: debug1: restore_uid: 0/0 
**Jul 28 06:46:29 git-server sshd[19124]: Failed publickey for gitolite from xx.xx.xx.xx port 53847 ssh2** 
Jul 28 06:46:29 git-server sshd[19124]: debug1: do_cleanup 

現在我在想,我的服務器正常工作,因爲我已經在其他兩個客戶端的位置和一切正常測試了我的膩子關鍵正好。也許這是我的工作站在發送我的Putty密鑰時遇到問題。在情況下,它是一個客戶端問題,這裏是我的電腦規格:

  • 英特爾酷睿i7 3770的x64
  • Windows 7旗艦版
  • 16GB內存

預先感謝您!

+0

什麼是ssh -vvv yourServer從客戶端提供的(不工作的,以及可以工作的)。對我來說似乎是一個客戶問題。您的$ HOME是否有任何改變?你的保護措施是否正確? (如在http://stackoverflow.com/questions/3712443/creating-ssh-keys-for-gerrit-and-hudson/3712619#3712619爲例) – VonC 2012-07-28 22:23:43

+0

我在窗口中,所以沒有$ HOME,我運行我的程序在管理員下。我的2客戶端使用相同的密鑰連接到同一路徑上的同一臺服務器:一個客戶端正在另一個客戶端工作。 我從我的2個客戶端運行「ssh -vvv gitolite @ host -i path/to/key」,我得到以下輸出: http://oi47.tinypic.com/kcxli8.jpg http:// oi48。 tinypic.com/28k28j.jpg 再次感謝您 – Fredow 2012-07-30 17:33:35

+0

如果沒有'HOME',那就是您的問題:請參閱http://stackoverflow.com/questions/10122439/msysgit-and-ssh-config-missing/ 10122865#10122865或http://stackoverflow.com/questions/5318590/auth-fails-on-windows-xp-with-git-and-tortoisegit/5322335#5322335舉例說明確保定義了'%HOME%'的兩個示例很重要。 – VonC 2012-07-30 18:13:00

回答

1

經過這段時間;問題解決了!

顯然,這是一個問題,膩子與混淆ToirtoiseGit Windows客戶端的註冊表。我很驚訝這種情況怎麼沒有記錄在任何地方。感謝找到解決方案的朋友。

所以在Windows上,所有會話信息和膩子設置在這裏

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY 

位於刪去「會話」和「SshHostKeys」文件夾,這是後自動重新生成,已經解決了問題。但我們不知道爲什麼。

更多挖掘導致我們的結論是,當通過膩子界面改變默認設置時,它會導致Plink(ToirtoiseGit的膩子劑),堅持Putty的默認設置,而不是專注於「自動已加載的膩子鍵「設置。

底線是

  1. 如果你有這些症狀,空「PublicKeyFile」變量位於HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default Settings
  2. 或者......根本就沒有編輯/保存在膩子的默認設置! !

我希望這個解決方案也能幫助別人! :)

0

我已經用膩子在Windows上,我已經改變了用於驗證各個服務器的關鍵類似的問題。但是在我保存的一些會話中,它仍然有一個原始密鑰文件的路徑,這些會話不再有效。

該解決方案有通過保存會話釣魚周圍,刪除有問題的密鑰文件 - 我認爲這是在連接/ SSH /驗證

1

檢查公鑰格式如下:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA5k6P+EKZ/G8+YT8kpHUmyp2d+4S/1kIAqPQcIt+qjpf9i0v9pwWCJdgYhiwD18pjUL2tM0D6zofKF3mQJdJbW22yAqBQ/YmswEHcH+1/QxHxaYHvXxaqakgvFcWW3DZ/ShsgWfJyhw7naKMWKcgAJJHPJfmAHtEWPLDhBAzpEQc= 

並檢查它是否是已知的主機。

+0

我的筆記本電腦和我的塔上的私鑰和公鑰完全相同。它只是在我的筆記本電腦上工作,即使我收到服務器錯誤。格式正常。我仍然不知道爲什麼這個密鑰只能從我的計算機中被拒絕,但在其他地方工作。 – Fredow 2014-02-15 23:15:40

相關問題