Ssh
如何在對遠端機器執行 ssh 以進行測試時創建遠端主機標識已更改的場景
我們想從返回的 linux 遠端機器中引起狀態
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r", "@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
所以我們在本地
/root/.ssh/known_host
文件(beta機器)中更改遠端機器的字元之一,以便進行此模擬但這不會發生
當我們從 beta 機器向遠端機器執行 ssh 時
ssh alpha1
我們無需獲取即可訪問遠端機器:
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r", "@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
那麼如何模擬這種情況呢?
可能有辦法通過弄亂 來做到這一點
~/.ssh/known_hosts
,但這裡有一個使用sshd
作為普通使用者執行的伺服器的解決方案:mkdir -m 700 /tmp/ssh ssh-keygen -qN '' -f /tmp/ssh/1st ssh-keygen -qN '' -f /tmp/ssh/2nd /usr/sbin/sshd -h /tmp/ssh/1st -p 2222 -o PidFile=/tmp/ssh/pid ssh -o StrictHostKeyChecking=no -p 2222 localhost true kill $(cat /tmp/ssh/pid) /usr/sbin/sshd -h /tmp/ssh/2nd -p 2222 -o PidFile=/tmp/ssh/pid
現在:
% ssh -p 2222 localhost true @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
然後
ssh-keygen -R [localhost]:2222
,沖洗,重複。您可以根據自己的需要對其進行工具化。