SSH를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결할 때 "No matching host key type found" 또는 "No matching key exchange method found"이라는 오류 메시지가 표시됩니다. 간략한 설명
간략한 설명
SSH를 사용하여 EC2 Linux 인스턴스에 연결할 때 다음 오류 중 하나가 표시될 수 있습니다.
- 일치하는 호스트 키 유형을 찾을 수 없습니다. 이 오류는 SSH가 연결 중인 서버와 공통 암호화 알고리즘 또는 호스트 키를 협상할 수 없는 경우 발생합니다.
- 일치하는 키 교환 방법을 찾을 수 없습니다. 이 오류는 SSH 핸드셰이크 중에 SSH 클라이언트와 서버 간에 협상된 키 교환 알고리즘에 문제가 있음을 나타냅니다. 이 오류는 SSH 클라이언트와 서버의 키 교환 알고리즘이 다르거나 호환되지 않을 때 발생합니다.
해결 방법
openssh-client 업데이트
이전 버전의 openssh-client는 서버에서 협상한 키 교환 알고리즘을 지원하지 않을 수 있습니다. 다음 명령 중 하나를 실행하여 클라이언트를 최신 버전으로 업데이트합니다.
Ubuntu 및 Debian
sudo apt upgrade openssh-client
Amazon Linux, RHEL, Fedora
sudo yum upgrade openssh-clients
"no matching host key type found" 오류 해결
예제 오류
Unable to negotiate with X.X.X.X port 22. no matching host key type found. Their offer: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519.
이 오류를 해결하려면 서버와 클라이언트에 일치하는 호스트 키 알고리즘이 하나 이상 있는지 확인하세요. 서버와 클라이언트에서 다음 명령을 실행하여 호스트 키 알고리즘을 확인합니다.
sudo ssh -Q key
클라이언트에 알고리즘을 추가하려면 ~/.ssh/config 또는 /etc/ssh/ssh_config 파일에 다음 줄을 추가합니다.
vi ~/.ssh/config
HostkeyAlgorithms +ssh-ed25519
"no matching key exchange method found" 오류 해결
예제 오류
Unable to negotiate with X.X.X.X port 22: no matching key exchange method found. Their offer: curve25519-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha25
이 오류를 해결하려면 서버와 클라이언트가 적어도 하나의 일치하는 키 교환 알고리즘을 가지고 있는지 확인하세요. 서버와 클라이언트에서 다음 명령을 실행하여 키 교환 알고리즘을 확인합니다.
sudo ssh -Q kex
클라이언트에서 키 교환 알고리즘을 추가하려면 ~/.ssh/config 또는 /etc/ssh/ssh_config 파일에 다음 줄을 추가합니다.
vi ~/.ssh/config
KexAlgorithms +diffie-hellman-group16-sha512
관련 정보
openssh.com의 OpenSSH 레거시 옵션