2013-03-28 42 views
4

我有我的SSH服務連接問題,到位桶SSH認證

的ssh-agent運行:

PS -e | grep ssh

12163? 00:00:00的ssh-agent

和緩存我唯一的身份:

SSH-添加-l

4096 25:56:F4:9C:09:65:FE:39 :B3:17:73:BD:3C:76:3F:8D /home/matthias/.ssh/id_rsa(RSA)

一切存在,因爲它應該:

LS〜/ SSH/

id_rsa id_rsa.pub的known_hosts

和id_rsa.pub被上傳到Bitbucket.org SSH-鍵部..

然而SSH認證失敗(使用詳細模式,可以看出,它以某種方式試圖加載不存在的文件id_dsa的)

SSH -v -T [email protected]
[...]
DEBUG1:下一個認證方法:公鑰
DEBUG1:發售RSA公鑰:/home/matthias/.ssh/id_rsa
DEBUG1:身份驗證,可以繼續:公鑰
DEBUG1:發售RSA公鑰:/home/matthias/.ssh/id_rsa
DEBUG1:遠程:強制命令:conq用戶名:matthias_hueser
debug1:遠程:禁用端口轉發。
debug1:遠程:禁用X11轉發。
debug1:Remote:代理轉發已禁用。
debug1:遠程:禁用Pty分配。
DEBUG1:服務器接受的關鍵:pkalg支持SSH-RSA BLEN 535
DEBUG1:key_parse_private_pem:PEM_read_PrivateKey失敗
DEBUG1:讀PEM私鑰進行:類型
輸入密碼爲關鍵 '/home/matthias/.ssh/id_rsa' :
DEBUG1:讀PEM私鑰進行:類型RSA
DEBUG1:遠程:強制命令:conq用戶名:matthias_hueser
DEBUG1:遠程:端口轉發無效。
debug1:遠程:禁用X11轉發。
debug1:Remote:代理轉發已禁用。
debug1:遠程:禁用Pty分配。
DEBUG1:身份驗證,可以繼續:公鑰
DEBUG1:試圖私鑰:/home/matthias/.ssh/id_dsa
沒有這樣的身份:/家庭/馬蒂亞斯/。SSH/id_dsa的:沒有這樣的文件或目錄
DEBUG1:試圖私鑰:/home/matthias/.ssh/id_ecdsa
沒有這樣的身份:/home/matthias/.ssh/id_ecdsa:沒有這樣的文件或目錄
DEBUG1 :沒有更多的身份驗證方法嘗試。
權限被拒絕(公鑰)。

有其他人遇到同樣的問題,並有 的建議嗎?

[感謝編輯]

+0

「〜/ .ssh」的權限700和密鑰的權限是600?從調試日誌看來,這不是問題所在。 – JoePasq 2015-01-17 19:10:40

回答

1

你看到的輸出看起來與服務器拒絕您的id_rsa關鍵是一致的。即使您沒有在命令行上指定它們或將它們加載到您的ssh-agent中,ssh也會檢查id_rsa,id_dsaid_ecdsa

如果我解決此,我想從圖片中刪除的ssh-agent並指定命令行私鑰。在一個新的shell

運行這個你以後關閉,這樣你就不會垃圾你現有的環境:

$ bash 
$ unset SSH_AGENT_PID SSH_AUTH_SOCK 
$ ssh -v -T -i ~/.ssh/id_rsa [email protected] 
[...] 
$ exit 

(SSH-凱基應提示您輸入密鑰的密碼)


如果有效,我會仔細檢查你的ssh-agent提供的密鑰實際上是否正確。您可以

$ ssh-keygen -y -f ~/.ssh/id_rsa 

並檢查,對什麼在你的ssh-agent:

$ ssh-add -L 

如果你的代理人的身份是不同的,你應該ssh-add -D傾倒你的鑰匙,並重新加載它們。如果沒有什麼不同,我不確定發生了什麼。希望有點幫助。