Linux

SSH 接受公鑰認證但不連接辨識文件?

  • May 17, 2011

問題

我最近切換到一個新的網路伺服器。我一直在使用帶有 SSH 的辨識文件在以前的伺服器上連接沒有問題,但是在新伺服器上我似乎無法使用辨識文件進行身份驗證。看起來它試圖讀取它,但隨後它只是繼續進行密碼驗證。我相信我的文件是正確的——我已經設置了很多次了!

設置

我使用 . 在遠端伺服器上生成了辨識文件ssh-keygen,然後將私鑰 (id_rsa) 複製回我的電腦作為~/.ssh/id_remote_private. 權限設置正確(700/600 在 ~/.ssh 和里面的文件),本地和遠端。

連接日誌

下面是沒有密碼的密鑰的連接日誌。另外,不確定這是否相關,但是當我嘗試使用密碼時,我會收到一個額外的錯誤:PEM_read_PrivateKey failed.

我在這裡做錯了什麼?

local_user$ **ssh -v -i $HOME/.ssh/id_remote_private -l user1234 123.123.123.123**
OpenSSH_5.2p1,OpenSSL 0.9.8l 2009 年 11 月 5 日

debug1:讀取配置數據 /Users/local_user/.ssh/config
debug1:讀取配置數據 /etc/ssh_config
debug1:連接到 123.123.123.123 [123.123.123.123] 埠 22。
debug1:建立連接。
debug1:身份文件/Users/local_user/.ssh/id_remote_private type -1
debug1:遠端協議版本2.0,遠端軟體版本OpenSSH_4.3
debug1:匹配:OpenSSH_4.3 拍 OpenSSH_4*
debug1:為協議 2.0 啟用兼容模式
debug1:本地版本字元串 SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT 已發送
debug1:收到 SSH2_MSG_KEXINIT
調試1:kex:伺服器->客戶端aes128-ctr hmac-md5無
調試1:kex:客戶端->伺服器aes128-ctr hmac-md5無
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) 已發送
debug1:期待 SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT 發送
debug1:期待 SSH2_MSG_KEX_DH_GEX_REPLY
debug1:主機 '123.123.123.123' 是已知的並且與 RSA 主機密鑰匹配。
debug1:在 /Users/user/.ssh/known_hosts:43 中找到密鑰
debug1:ssh_rsa_verify:簽名正確
debug1: SSH2_MSG_NEWKEYS 已發送
debug1:期待 SSH2_MSG_NEWKEYS
debug1:收到 SSH2_MSG_NEWKEYS
debug1:SSH2_MSG_SERVICE_REQUEST 已發送
debug1:收到 SSH2_MSG_SERVICE_ACCEPT
**debug1:可以繼續的身份驗證:publickey、gssapi-with-mic、password**
debug1:下一個認證方式:publickey
debug1:嘗試私鑰:/Users/user/.idssh/id_remote_private
debug1:讀取 PEM 私鑰完成:輸入 RSA

debug1:可以繼續的身份驗證:publickey、gssapi-with-mic、password
debug1:下一個認證方式:密碼
**user1234@123.123.123.123的密碼:**

如果您還沒有完成,請將密鑰的公共部分添加到~/.ssh/authorized_keys遠端端。

您還可以查看/var/log/auth.log遠端端的內容以獲取更多詳細資訊。

引用自:https://serverfault.com/questions/270579