Categories
SSH

OpenSSH: no matching host key type found 문제 해결 방법

Unable to negotiate with xxx.xxx.xxx.xxx port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

위와 같은 메시지가 출력되면서 SSH 서버에 접속이 되지 않는 문제를 해결해 보자.

ssh-rsa 서명 방식 (scheme) 은 OpenSSH 8.8 릴리스 (release) 부터 권장되지 않는다.

OpenSSH 8.8 은 2021년 8월에 발표되었다.

아직도 이 방식을 사용하는 구형 SSH 서버가 많기 때문에 이러한 문제가 발생한다.

1. HostKeyAlgorithms=+ssh-rsa 옵션 사용

첫번째 방법은 커맨드 라인에서 HostKeyAlgorithms=+ssh-rsa 옵션을 사용하는 것이다.

아래와 같은 명령으로 구형 SSH 서버에 접속한다.

ssh -oHostKeyAlgorithms=+ssh-rsa userid@211.110.80.91

2. ~/.ssh/config 파일 수정

두번째 방법은 홈 디렉토리의 ~/.ssh/config 파일을 수정하는 것이다.

편집기로 파일을 연다.

vi ~/.ssh/config

파일에 아래 내용을 추가한다.

Host 211.110.80.91
HostKeyAlgorithms +ssh-rsa

211.110.80.91 은 SSH 서버의 IP 주소이다.

파일을 저장하고 편집기를 닫는다.

아래와 같은 명령으로 구형 SSH 서버에 접속한다.

ssh userid@211.110.80.91

이 경우에는 HostKeyAlgorithms=+ssh-rsa 옵션을 사용할 필요가 없다.

Leave a Reply

Your email address will not be published. Required fields are marked *