這隻shell是放在nas上執行,每天去抓db的備份檔回到nas本機,應該是採用rsync的方式
可是在我更新防火牆之後
半夜備份就出了問題,跳出錯誤
請大家幫忙分析原因,因為除了防火牆升級韌體都沒改到其他
防火牆是最新Fortios6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Lf5jlMnLXTS8wqszKpW6hLcaMsA.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:3
ECDSA host key for db has changed and you have requested strict checking.
Host key verification failed.
rsync error: unexplained error (code 255) at io.c(687) [Receiver=3.0.9]
錯誤原因:
Offending ECDSA key in /root/.ssh/known_hosts:3
請執行:# sed -i "3d" ~/.ssh/known_hosts
刪除第三個key.
或手動刪除.
最後發現是SSH深層掃描功能導致ssh被擋掉,不知道為何把正常連線誤判,然後查了一下log,這幾天的ssh全部pass
這個深層掃瞄功能真的很惡搞阿
您說的深層掃描指的是這個嗎? 那麼, 您的fortigate是TLS反向代理 伺服器, 升級fortiOS後的key並未保留, 發出一個新的代理key, 因此才會有此錯誤. 是否在您未更換key(也就是先刪除第三個key再重連)的情形下, 但是ssh"自動"恢復正常嗎?
沒錯 就是SSL/SSH inspection裡面的SSH Deep Scan
我在5版的升級都未出現過狀況,升級6後就跳出這錯誤了,現在只能先關ssh scan,為什麼升級key不會被保留?
防火牆只是server跟nas的中間設備,只通過封包
為什麼在兩邊key都未變動的狀況下會出此問題?
還是fortios也會記憶下fingerprint去比對?
所以有什麼建議做法?
防火牆只是server跟nas的中間設備,只通過封包
當您啟用SSH Deep Scan, 表示防火牆代理了TLS連線, 原理是, Server使用防火牆的Public Key發出TLS連線-->防火牆收到後private key解密, 再用Nas的Public key加密-->NAS用private key解密. 因此, 並非防火牆只是通過封包. 防火牆在TLS反向代理的模式下是用自己發出的Public Key, 也就是您遇到的第三個key.這種代理模式又稱為Man-In-The-Middle-Attack, MITM攻擊. 只是由防火牆來執行. 因此, 刪掉它再重連即可. 建議是關閉SSH Deep Scan.
感謝大神釐清觀念,你說的是不是Server-->防火牆,防火牆-->NAS
這兩次加解密使用的key都是不同的? TLS代理之後會有兩組key
所以才會在防火牆介入之後才會判斷server和NAS之間的key是不同的
有些資料說rm known_hosts 再重建即可,可是我使用windows putty刪除putty registry 的所有hostkeys之後重新連線還是無法登入
這有點難解
有網友說明
其实这是客户机问题,与SSH服务器无关,只需把.ssh目录下的文件删除即可。下次使用ssh时文件会重建的。
出现这问题的原因一般是同一主机使用了不同的用户名登陆。(如果多个域名和多个IP同时指向同一主机,ssh仍然视为不同主机。)
殊途同歸, 目的是刪掉那個不認得的key.
你在升級完防火牆之後, 仍可以用 ssh 登入到 DB 主機嗎?
看起來, 似乎是:
NAS 認為現在那台遠端主機, 跟以前連線過的對象不一樣, 所以拒絕連線.
你要確認一下, 現在連線的對象跟以前是否同一台?
所有的一切都沒變動,只有升級防火牆
我在想Forti6新版是不是又有大變動影響到
大神有沒有除錯的方向
Ecdsa key不太懂
Add correct host key in /root/.ssh/known_hosts有提到重新加入Host key
要怎麼去找Db的host key?
你從 NAS 用 ssh client 再連線一次到 DB 主機, 她會跳出類似這樣的訊息問你:
The authenticity of host '10.250.1.1 (10.250.1.1)' can't be established.
ECDSA key fingerprint is SHA256:6bLXdW3P89XwzYChHfSk4lLLW3lJ6N+ScaoW0mvAquQ.
ECDSA key fingerprint is MD5:f0:74:8a:4e:97:5d:96:f6:e8:2e:df:89:45:8b:c0:37.
Are you sure you want to continue connecting (yes/no)?
你按下 yes, 就可以把 host key 加回來...
但問題是,你得先搞清楚,為何 Host key 會改變?
只有幾種狀況會導致 Host Key 改變:
其中跟防火牆最有關係的是 2., 如果你升級防火牆之後, 因為 Rule 錯亂的關係, 導致 NAS 連錯主機的話, 就會出現 Host Key 不匹配的問題...
所以, 我才要您確認:
從 NAS 連線過去的 DB 主機, 跟以前的 DB 仍是同一台嗎? (我是蠻懷疑她已經連錯台了...)