最近把用了很多年的伺服器換掉,結果遇到一堆問題。先簡述一下:我有很多設備要管理,我們會定期用程式請這些設備吐設定檔回來。但在這一次更換server後,有部份機器吐不回來。
1、
先確認問題點。有這個問題的都是跑舊的OS的機器。
2、
我們用的是sftp,因此可以推測大概是加密方式(強度)之類的問題
3、
Log有分兩種,讓人意外的是新款的設備也無法正常連線
Oct 16 09:15:30 28.test.net.tw
%SSH-3-ERROR: failed to authenticate admin enable
Oct 16 09:17:10 28.test.net.tw
%SSH-3-ERROR: failed to authenticate admin !
192.168.230.56:Oct 16 09:16:23 56.test.net.tw
%SSH-3-ERROR: key_verify failed for server_host_key
192.168.230.81:Oct 16 09:16:20 81.test.net.tw
%SSH-3-ERROR: key_verify failed for server_host_key
192.168.230.82:Oct 16 09:16:19 81.test.net.tw
%SSH-3-ERROR: key_verify failed for server_host_key
4、從log上看起來,我本來懷疑是設備的問題,還進了shell mode查了很久。看是不是能更新server_host_ke這個檔案來處理。但後來發現沒有這個檔案一樣可以正常運作,因此又回頭找伺服器的問題。
5、既然懷疑是伺服器的相容性問題。因此我作了很多調整。調cipher,調kex,調key (本來是懷疑伺服器用的加密方式太新,舊設備不支援,打算讓伺服器向下相容)。
6、試了很多參數都沒有效。因此只好調整伺服器的版本,最後找了一個相對沒有那麼舊的版本將tarball解壓編譯安裝後解決了。
作一些筆記以後用:
以下是查詢目前ssh server支援(可使用)的加密方式、驗證方式。
ssh -Q cipher
ssh -Q mac
ssh -Q kex
ssh -Q key
用man 5 sshd_config這個指令也可以查看。
新版設備使用的加密方式:
cipher=aes128-ctr ksize=128 mac=hmac-sha1
pfs=diffie-hellman-group-exchange-sha256
舊版設備使用的加密方式:
cipher=3des-cbc ksize=192 mac=hmac-sha1
pfs=diffie-hellman-group1-sha1
不過我比對之後,openssh-server其實都有支援,因此在wireshark看起來也都能正常運作,只是不曉得為何給了新key後就斷了。
把LogLevel從INFO等級調整成VERBOSE 比較好查修
LogLevel VERBOSE
cat
/var/log/audit/audit.log | grep 192.168.18.12
你可以在sshd_config,告訴它說你只想使用哪些加密方式,可以指定Ciphers及MACs這些。至於HostKeyAlgorithms跟KexAlgorithms我測試在新版(OpenSSH 8.x是不支援的)。
另外,你在測試的時候可以用ssh -vv來查看在交握過程中出了什麼問題
(我的設備太舊不支援這個參數)
你好:
回覆刪除http://tiserle.blogspot.com/search/label/874
關於這個貼文,能請教一下嗎?