主機: Security Onion (Server) / Kali (Client) 套件: ssh
原因:
今天在公司內建立一台新的IDS系統,是透過Security Onion來成立。
在我連線到伺服器的時候,出現 客戶端和服務器無法就密鑰交換算法達成一致的問題。
錯誤訊息如下:
Unable to negotiate with legacyhost: no matching key exchange method found.
Their offer: diffie-hellman-group1-sha1
出現這個表示,服務器端只提供一種方法diffie-hellman-group1-sha1
預設情況下OpenSSH支持這種方法,但默認情況下不啟用它,因為安全性上比較不足。
現在我們就要想辦法把這個不安全的連線方式打開。
處理方式:
方法1:
把一些方式加入我們主機(Client)的設定檔當中
Step 1. 加入一些連線加密方法
#vim /etc/ssh/ssh_config
=!========================
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
=!========================
Step 2. 套用我們剛剛的keygen
#ssh-keygen -A
Step 3. 重新連線測試
#ssh [使用者名稱]@[伺服器IP位址]
就可以看到他可以正常連線了。
方法2:
在你連線的時候加入這次要採用的方式。
#ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [使用者名稱]@[伺服器IP位址]
這種方式也可以達到正常連線的效果。
這邊介紹這兩種方式供大家參考及使用,如果想了解背後發生的問題。
可以詳閱參考網址的內容。
(本篇完)
參考網址:
https://www.openssh.com/legacy.html