Ubuntu

由於 libcrypto 錯誤,SSHd 不允許公鑰身份驗證

  • March 26, 2021

我無法使用公鑰登錄我的伺服器。

伺服器詳情:

  • 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 與很久以前生成的密鑰不向後兼容。

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