지난 몇 주 동안 여러 가상 머신을 구축했습니다. 문제는 .ssh/known_hosts
나에게중간에있는 남성경고. 이는 다른 지문이 가상 머신 IP와 연결되어 있기 때문에 발생합니다.
그러나 파일 에서 .ssh/known_hosts
IP와 관련된 기록은 찾을 수 없으며 키와 유사한 두 개의 기괴한 문자열과 "ssh-rsa"만 찾을 수 있습니다.
에서 이전 키를 제거하는 방법에 대한 아이디어가 있는 사람이 있습니까 known_hosts
?
답변1
sed -i '6d' ~/.ssh/known_hosts
~/.ssh/known_hosts:6 파일을 수정하여 6번째 줄을 제거합니다.
제 생각에는 ssh-keygen -R
openssh 고급 사용자에게는 를 사용하는 것이 더 나은 솔루션인 반면, 일반 Linux 관리자는 위의 방법을 사용하여 sed 기술을 최신 상태로 유지하는 것이 더 좋습니다.
답변2
-R
이를 위한 ssh-keygen 스위치( )가 있습니다 .
man ssh-keygen
읽는다:
-R
호스트 이름
hostname
파일 에 속한 모든 키를 제거합니다known_hosts
. 이 옵션은 해시된 호스트를 삭제하는 데 유용합니다(-H
위 옵션 참조).
답변3
가장 간단한 해결책은 다음과 같습니다.
rm -f .ssh/known_hosts
ssh는 파일을 다시 생성하지만 다른 호스트에 대한 키 확인을 잃게 됩니다!
또는 다음을 사용할 수 있습니다.
ssh-keygen -R "hostname"
또는 SSH "man-in-the-middle" 메시지는 Known_hosts 파일의 어느 줄에 문제가 있는 지문이 있는지 표시해야 합니다. 파일을 편집하고 해당 줄로 이동하여 삭제하십시오.
답변4
모든 답변은 훌륭하지만 실제 SSH 전문가의 경우 (비표준) 포트 번호를 사용하여 SSH 서명을 제거하는 방법에 대한 정보가 누락되었습니다.
간단한 SSH 호스트 서명 제거 명령:
ssh-keygen -R example.com
복잡한 SSH 키 제거(예: 비표준 포트 222에서 SSH에 연결):
ssh example.com -p 222
경고가 표시되고 이를 제거하려면 다음을 사용해야 합니다.대괄호콜론 포트 번호:
ssh-keygen -R [example.com]:222
동일한 호스트에 대한 IP 레코드가 있을 수 있으므로 해당 레코드도 제거해야 합니다.
이것이 비표준 구성 사용자에게 도움이 되기를 바랍니다.