Windows 플랫폼용으로 Simon Tatham이 개발한 SSH 및 텔넷 클라이언트 PuTTY를 사용하다가 갑자기 Fatal error: Couldn’t agree on host key algorithm (available: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256)가 발생했을 때의 대응 방법을 소개합니다.
오류 발생 서버 정보 확인하기
PuTTY 0.66 클라이언트를 사용하여 ESXi6.5 서버와 ESXi 7.0.3 서버에 각각 접속을 시도해 보면 그 결과는 다음과 같이 다른 결과가 나옵니다.
ESXi6.5 서버
PuTTY 0.66 클라이언트로 접속은 문제 없음을 확인 했습니다.
uname -a 명령으로 서버 정보를 확인하면 다음과 같습니다.
# uname -a
VMkernel vmhost002 6.5.0 #1 SMP Release build-20502893 Sep 21 2022 21:45:10 x86_64 x86_64 x86_64 ESXi
참고로 웹 관리 화면에서 확인한 ESXi 버전은 다음과 같습니다.
ssh -V 명령으로 이 서버는 OpenSSH_8.1p1 버전의 sshd 서비스가 제공되고 있음을 확인할 수 있었습니다.
# ssh -V
OpenSSH_8.1p1, OpenSSL 1.0.2zf-fips 21 Jun 2022
ESXi 7.0.3 서버
PuTTY 0.66 클라이언트로 접속하면 Fatal error: Couldn’t agree on host key algorithm (available: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256) 메시지를 표시하고 종료됩니다.
uname -a 명령으로 서버 정보를 확인하면 다음과 같습니다.
# uname -a
VMkernel vmhost001 7.0.3 #1 SMP Release build-20328353 Aug 22 2022 19:41:06 x86_64 x86_64 x86_64 ESXi
참고로 웹 관리 화면에서 확인한 ESXi 버전은 다음과 같습니다.
ssh -V 명령으로 이 서버는 OpenSSH_8.8p1 버전의 sshd 서비스가 제공되고 있음을 확인할 수 있었습니다.
# ssh -V
OpenSSH_8.8p1, OpenSSL 1.0.2ze-fips 3 May 2022
오류 원인 조사 결과
오류 원인는 “최신 OpenSSH_8.8p1 서버가 동일한 RSA 키를 사용하지만 SHA2 기반 서명을 통해서만 사용하고 이전 SHA1 기반 서명 알고리즘에 대한 지원을 비활성화했기 때문이며 DSA 키에 대한 지원은 몇 년 전에 제거 됨” 때문이라고 합니다.
오류 해결 방법
다음 사이트에서 PuTTY도 최신 버전(PuTTY 0.78)을 다운로드 해서 사용하면 오류 없이 사용할 수 있습니다.
그 외 조사결과
참고로 다음은 PuTTY 0.66 버전을 클라이언트로 다음 일람의 나열된 각각의 버전의 sshd 서비스에 접속하려고 했을때 접속 결과를 OK/NG로 기입했습니다. 결론은 오직 OpenSSH_8.8p1 버전의 sshd 서비스에 접속만 오류가 발생했음을 확인할 수 있었습니다.
No | sshd 서비스 openssh 버전 (ssh -V) | PuTTY 0.66 |
---|---|---|
1 | OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 | OK |
2 | OpenSSH_5.6p1, OpenSSL 1.0.1j 15 Oct 2014 | OK |
3 | OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 | OK |
4 | OpenSSH_8.0p1, OpenSSL 1.1.1g FIPS 21 Apr 2020 | OK |
5 | OpenSSH_8.1p1, OpenSSL 1.0.2zf-fips 21 Jun 2022 | OK |
6 | OpenSSH_8.8p1, OpenSSL 1.0.2ze-fips 3 May 2022 | NG |
댓글