[RedHat] RHEL9에서 레거시 시스템(AIX7.2, RHEL6)으로 SSH 접속 문제 해결: SHA1 암호화 정책 설정 방법
RHEL9에서 SHA1 암호화 지원이 필요한 레거시 시스템과의 SSH 접속 문제 해결 방법을 설명합니다.
개요
RHEL9 시스템에서 RHEL6이나 AIX 7.2와 같은 레거시 시스템으로 SSH 접속 시 암호화 방식 불일치로 인해 연결 오류가 발생할 수 있습니다. 본 문서에서는 이 문제를 해결하기 위해 SHA1 알고리즘을 시스템 정책에 포함시키는 방법을 설명합니다.
문제 설명
RHEL9에서 RHEL6 시스템으로 SSH 접속을 시도하면 다음과 같은 오류가 발생합니다
Unable to negotiate with 192.168.155.60 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
이는 RHEL9의 기본 암호화 정책(DEFAULT
)이 SHA1 기반의 키 교환 알고리즘을 지원하지 않기 때문입니다. 정책을 DEFAULT:SHA1
로 변경하면 이러한 알고리즘을 포함시켜 문제를 해결할 수 있습니다.
시스템 버전 별 에러 로그
- RHEL9 → AIX7
# ssh -vvv aix7 ... debug1:send_pubkey_test: no mutual signature algorithm ...
- RHEL9 → RHEL6
Unable to negotiate with 192.168.155.60 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
- RHEL6 → RHEL9
no hostkey alg
해결 방법: 암호화 정책 변경
1) 암호화 정책 변경
SHA1 기반 알고리즘을 허용하려면 시스템 암호화 정책을 변경해야 합니다. 다음 명령어로 SHA1을 포함하도록 설정합니다
# update-crypto-policies --set DEFAULT:SHA1
이 설정은 DEFAULT
정책에 SHA1 지원을 추가하는 방식이며, 보안이 취약한 LEGACY
정책으로 변경하는 것보다 더 안전한 대안입니다.
정책 프로필 설명
Red Hat에서는 다양한 수준의 보안 요구 사항에 따라 네 가지 암호화 정책을 제공합니다
- DEFAULT: 일반적으로 권장되는 기본 설정. (default)
- FUTURE: 더욱 강력한 보안을 제공하는 설정.
- LEGACY: 호환성을 위해 약한 알고리즘을 허용하는 설정.
- FIPS: 미국 연방 정보 처리 표준(FIPS: Federal Information Processing Standard) 모드를 준수하는 설정.
보다 자세한 내용은 # man crypto-policies
명령을 참조할 수 있습니다.
정책 적용 여부 확인
변경한 정책이 적용되었는지 확인하려면 다음 명령어를 사용합니다
# update-crypto-policies --show DEFAULT:SHA1
이와 같이 출력되면 SHA1이 포함된 암호화 정책이 정상적으로 적용된 것입니다.
시스템 재부팅 (정책 반영)
암호화 정책은 애플리케이션 시작 시점에 적용되므로, 변경 사항을 완전히 반영하려면 시스템을 재시작하는 것이 가장 확실합니다. SSH와 같은 주요 서비스는 자동으로 변경 사항을 감지하지만, 여전히 이전 세션이 남아 있을 수 있으므로 재부팅이 권장됩니다.
Setting system policy to DEFAULT:SHA1 Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place.
원복 방법
암호화 정책을 다시 기본값으로 되돌리려면 다음 명령을 실행합니다.
# update-crypto-policies --set DEFAULT
접속 테스트: 변경 전과 후 비교
- 정책 변경 전에는 SHA1 기반 알고리즘을 사용하는 서버로의 SSH 접속이 실패합니다
# update-crypto-policies --show DEFAULT # ssh 192.168.155.60 Unable to negotiate with 192.168.155.60 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
- 정책을
DEFAULT:SHA1
로 변경한 후에는 정상적으로 SSH 접속이 이루어집니다# update-crypto-policies --set DEFAULT:SHA1 Setting system policy to DEFAULT:SHA1 Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place. # update-crypto-policies --show DEFAULT:SHA1 # ssh 192.168.155.60 The authenticity of host '192.168.155.60 (192.168.155.60)' can't be established. RSA key fingerprint is SHA256:LUUdv7qMHd/QhfGYS7weWPlGqUAHcp0GBduQER2xTy4. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])?
결론
RHEL9 시스템에서 SHA1 알고리즘을 사용하는 레거시 시스템(RHEL6, AIX 등)과의 SSH 연결 문제는 암호화 정책을 DEFAULT:SHA1
로 변경함으로써 해결할 수 있습니다. 이 방식은 LEGACY
정책보다 안전하며, 특정 레거시 환경과의 호환성을 유지하는 데 실용적인 접근입니다.
댓글
댓글 쓰기