新的ssh 用戶端已經不支援舊版的加密方式, 因此若伺服器提供的sshd 加密過舊, 則必須手動調整,讓ssh 用戶端強制使用舊版方式連線.
做法就是先確認伺服器提供的加密法
# ssh -l root 192.168.1.1
Unable to negotiate with 192.168.1.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
然後請視情況(錯誤訊息), 更改演算法與支援的key
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-dss -l root x.x.x.x
若連線還是失敗, 出現以下錯誤
ssh_dispatch_run_fatal: Connection to 192.168.1.1 port 22: error in libcrypto
用戶端嘗試執行以下指令
update-crypto-policies --set LEGACY