Unable to negotiate with xxx.xxx.xxx.xxx port 22: no matching host key type found. Their offer: ssh-rsa 해결 방법
맥 터미널에서 ssh 를 사용하여 서버에 접속하려고 할 때,
Unable to negotiate with xxx.xxx.xxx.xxx port 22: no matching host key type found. Their offer: ssh-rsa
위와 같은 에러가 발생하는 상황에서 해결하는 방법을 알려드리도록 하겠습니다.
문제 원인
no matching host key type found. Their offer: ssh-rsa
즉, SSH 서버를 SSH 클라이언트에 인증하는 공개 키 알고리즘(호스트키 알고리즘) 중 ssh-rsa가 활성화가 되어있지 않아서 발생하는 에러입니다.
그렇다면 ssh-rsa 알고리즘에 대해서 활성화를 시켜주면 되겠습니다.
해결방법
HostKeyAlogorithms 옵션을 통해 원하는 알고리즘을 활성화 시켜주면 문제를 해결할 수 있습니다.
ssh 사용시 옵션으로 ssh-rsa 활성화
ssh -o "HostKeyAlgorithms ssh-rsa" user@hostname
위와 같이 ssh 로 접속시에 -o 옵션의 내용으로 "HostKeyAlgorithms ssh-rsa" 를 추가하는 것으로 문제를 해결할 수 있습니다.
전역으로 ssh-rsa 활성화
리눅스 ssh 클라이언트 설정 파일인 /etc/ssh/ssh_config 경로의 파일을 수정하여 전역으로 활성화 해준 뒤 사용할 수 있습니다.
sudo vim /etc/ssh/ssh_config
위 명령어를 통해 vim 으로 리눅스 ssh 클라이언트 설정 파일을 열어 수정을 시작합니다.
아마 대부분의 내용이 주석처리가 되어있을 것이고 아래로 내려가보면
Host *
즉 모든 호스트에 대해서 설정을 해주는 곳의 하단에
HostkeyAlgorithms +ssh-rsa
위 내용을 추가하는 것으로 호스트키 알고리즘에 ssh-rsa 추가 활성화 시켜줍니다.
만약 호스트 별로 따로 설정해주고 싶으시다면 Host 를 따로 작성하여 진행해주시면 되겠습니다.
설정해주신 뒤 다시 ssh로 서버에 접속해보시면,
위와 같이 에러 없이 접근이 가능해졌고 원래 사용하던 대로 비밀번호를 입력해달라고 하는 모습을 볼 수 있습니다.
이상으로 Unable to negotiate with xxx.xxx.xxx.xxx port 22: no matching host key type found. Their offer: ssh-rsa 해결 방법에 대한 설명을 마치도록 하겠습니다.
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
'Developer > Etc' 카테고리의 다른 글
Mac Redis 설치 방법 및 사용 방법 (0) | 2021.09.09 |
---|---|
Mac Java(JDK) 설치 방법 (2) | 2021.09.03 |
DB Browswer For SQLite 설치 방법 및 사용 방법 (0) | 2021.04.05 |
git You must use a personal access token with 'read_repository' or 'write_repository' scope for Git over HTTP, Authentication Failed 해결 방법 (0) | 2021.02.18 |
Install Docker In Mac OS - 맥 도커 설치 방법 (0) | 2021.01.05 |
댓글