Linux
SSH 接受公鑰認證但不連接辨識文件?
問題
我最近切換到一個新的網路伺服器。我一直在使用帶有 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
遠端端的內容以獲取更多詳細資訊。