반응형
문제
known_hosts
파일에 등록된 IP지만 알려지지 않은 호스트 문제가 발생
원인
- JSch가 SHA-RSA를 선호하고 연결하는 동안, SHA-RSA 지문을 비교하려고 시도하여 오류 발생
- 기존에 등록된 호스트 키는 SHA-RSA 방식의 지문이 없었다.
해결
ssh-keyscan
을 사용한다. 여러 호스트의 공개 SSH 호스트 키를 수집하는 유틸리티이다.
$ ssh-keyscan -H -t rsa 호스트IP
- 위의 명령어를 사용하여 기존
known_hosts
파일에 암호화 방식을 추가한다.
- 윈도우에서 사용할 경우, 개행이 되지않아 파일을 확인해서 제대로 개행되었는지 확인한다.
-H
- 출력의 모든 호스트 이름과 주소를 해시합니다.
-t 유형
- 스캔한 호스트에서 가져올 키 유형을 지정합니다.
- 가능한 값은 "dsa", "ecdsa", "ed25519" 또는 "rsa"입니다.
- 쉼표로 구분하여 여러 값을 지정할 수 있습니다.
- 기본값은 "rsa", "ecdsa" 및 "ed25519" 키를 가져오는 것입니다.
호스트IP
- 지문을 생성할 대상 주소
- 위의 명령어를 사용하여 기존
- 명령어를 실행한 후 붉은 박스의 내용을 모두 복사한다. 그리고 기존
known_hosts
파일에 추가한다.- 윈도우의 경우
>>
를 통해서 파일에 내용을 추가하는 형식으로 하니 제대로 동작하지 않았다.
- 윈도우의 경우
- 기존
known_hosts
파일 내용 일부
- 지문을 새로 추가한
known_hosts
파일
- 새로운 암호화 방식으로 생성한 지문을 known_hosts 파일에 추가한 후, 에러 메시지 없이 정상적으로 동작되었다.
[참고자료]
https://stackoverflow.com/questions/2003419/com-jcraft-jsch-jschexception-unknownhostkey
https://man.openbsd.org/ssh-keyscan
반응형