OpenSSH StrictHostKeyChecking v9가 (IMHO 합리적인) 기본값이기 때문입니다.
~/.ssh/known_hosts
이로 인해 파일의 호스트 키가 변경될 때까지 호스트 키가 변경되면 SSH가 연결을 거부합니다 . 경고 메시지가 충분히 명확하기 때문에 대화식 사용에는 문제가 되지 않습니다. 하지만 SSH를 사용하여 분산 명령을 실행하는 스크립트가 많이 있습니다. 일반적인 호출은 다음과 같습니다.
ssh -nqo 'BatchMode = yes' "$chHost" "$chCmd"
그런 다음 모든 호스트에서 루프로 실행합니다. 비대화형 사용을 위해 스크립트에서 변경된 호스트 키를 수정하는 방법을 찾고 있습니다. 다음 명령을 사용하여 이전 키를 삭제할 수 있습니다.
ssh-keygen -R "$chHost"
그러나 키를 지운 후 소프트웨어에서는 새 키를 수락하기 위해 대화형으로 "yes"를 입력해야 하며 지금까지 비대화형 세션에서 이를 수행할 수 있는 방법을 찾지 못했습니다. 반면에 StrictHostKeyChecking 설정을 바꾸는 건 꺼려지는데, 새 호스트 키는 Known_hosts 파일에만 추가되고(이전 호스트 키는 삭제되지 않음) 하나의 호스트에 여러(오래된) 키가 있을 수 있기 때문입니다. 키가 거기에 있습니다 , 파일을 최대한 깔끔하게 유지하고 싶습니다(예: 관련성이 있는 최신 정보만 포함).
참고로 제가 사용하고 있는 시스템은 AIX 7200-05-06-2320 또는 7200-05-07-2346이고, OpenSSH 버전은 9.2.112.2000입니다.