Ubuntu
由於 libcrypto 錯誤,SSHd 不允許公鑰身份驗證
我無法使用公鑰登錄我的伺服器。
伺服器詳情:
- Ubuntu 伺服器 16.04LTS
- SSHd:OpenSSH_7.2p2 Ubuntu-4ubuntu2.4,OpenSSL 1.0.2g 2016 年 3 月 1 日
我的公鑰已添加到 /home/user/.ssh/authorized_keys,但當我嘗試連接時,公鑰身份驗證方法被丟棄。
/var/log/auth.log 中只有一行對應:
sshd[3830]: error: key_verify: error in libcrypto
伺服器上的 Ubuntu 是新鮮的,剛剛升級到最新的核心和軟體包。
有人知道我該如何克服這種情況嗎?
實際上,增加日誌級別並沒有顯示任何相關內容。
似乎客戶端只是跳過了我沒有得到的下一個可能的密鑰(DSA),然後該方法被丟棄並詢問了密碼。
我的客戶端是 14.04LTS,伺服器是 16.04LTS。
密鑰是很久以前生成的(當我安裝 14.04LTS 時)。
解決方案是在客戶端上重新生成 RSA 密鑰,現在它可以按預期工作。不知何故,16.04LTS 與很久以前生成的密鑰不向後兼容。