Rocky(RHEL) 9 에서 CentOS(RHEL) 6 (6 이하 버전포함) OS 간에 ssh 접속 / scp 전송 시 아래와 같은 에러가 발생되며 접속이 안된다.
Unable to negotiate with 192.168.0.250 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Connection closed
원인은 RHEL 9부터 기본 암호화 정책에서 SHA1 키 알고리즘을 지원하지 않기 때문이며, 해결 방법은 아래와 같다.
- 암호화 정책 확인 (RHEL 9에서)
# update-crypto-policies --show
DEFAULT
- 암화호 정책을 DEFAULT:SHA1 으로 변경 (RHEL 9에서)
# update-crypto-policies --set DEFAULT:SHA1
(또는 update-crypto-policies --set LEGACY)
- 암호화 정책 확인 (RHEL 9에서)
# update-crypto-policies --show
DEFAULT:SHA1
- RHEL 9에서 RHEL 6로 접속 확인 (RHEL 9에서)
# ssh CentOS6_Server_IP
이제 RHEL 9 <-> RHEL 6 양단간에 접속이 될 것이다.
- 시스템 전체 암호화 정책은 애플리케이션 시작 시 적용 되므로 ssh / scp 외의 일부 애플리케이션은 재시작이 필요할 수 있다. 따라서 reboot을 통해 완전히 적용 가능할 수 있다.
- SHA1 암호화 정책 적용 시 안전하지 않은 암호화 프로토콜(sha1) 통신을 허용하기 때문에 RHEL 9 시스템 보안이 약화된다.
- LEAGACY 로 적용하게 되면 시스템 보안이 더 약화된다.
update crypto policies to SHA1 on Rocky(RHEL) 9