Linux 원격 시스템에서 상태를 반환하고 싶습니다.
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
/root/.ssh/known_host
그래서 우리는 이 시뮬레이션을 수행하기 위해 로컬 파일(테스트 머신)에서 원격 머신의 특성 중 하나를 변경합니다.
하지만 그런 일은 일어나지 않을 거야
베타 머신에서 원격 머신으로 SSH를 통해 접속할 때
ssh alpha1
다음을 얻지 않고도 원격 시스템에 액세스할 수 있습니다.
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
그렇다면 이 시나리오를 어떻게 시뮬레이션할까요?
답변1
간단한 수정으로 이를 수행할 수 있는 방법이 있을 수 있지만 일반 사용자로 실행되는 서버를 사용하는 솔루션은 ~/.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
헹구고 반복하십시오. 필요에 따라 도구를 사용할 수 있습니다.