SSH로 서버에 접속할 때 아래와 같은 경고 메시지가 뜨는 경험을 해본 적 있으신가요?
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
매번 접속할 때마다 이 메시지가 보이면 꽤 거슬립니다. 이번 글에서는 이 경고가 무엇인지 간단히 설명하고, 빠르게 끄는 방법을 알려드립니다.
이 경고는 무엇인가?
이 경고는 최신 버전의 OpenSSH가 양자 컴퓨터 시대를 대비한 post-quantum 키 교환 알고리즘을 사용하지 않는 서버에 접속할 때 표시하는 메시지입니다.
“store now, decrypt later” 공격이란, 현재 암호화된 트래픽을 저장해 두었다가, 나중에 양자 컴퓨터로 복호화하는 방식의 잠재적 위협입니다. 아직 현실적인 위협은 아니지만, OpenSSH 클라이언트가 미리 경고해주는 것입니다.
서버 측의 OpenSSH가 구버전이거나 post-quantum 알고리즘을 지원하지 않는 경우 이 경고가 나타납니다.
해결 방법: SSH config 파일 수정
서버를 직접 업그레이드하기 어렵거나, 일단 경고 메시지만 끄고 싶다면 클라이언트 측 SSH 설정으로 간단히 해결할 수 있습니다.
1단계: ~/.ssh/config 파일 열기
nano ~/.ssh/config
파일이 없다면 새로 만들면 됩니다.
2단계: 다음 내용 추가
Host *
IgnoreUnknown WarnWeakCrypto
WarnWeakCrypto no-pq-kex
저장 후 다시 SSH 접속하면 경고 메시지가 더 이상 나타나지 않습니다.
설정 설명
| 옵션 | 역할 |
|---|---|
| Host * | 모든 호스트에 적용 |
| IgnoreUnknown WarnWeakCrypto | 구버전 OpenSSH가 WarnWeakCrypto를 모르더라도 에러 없이 무시 |
| WarnWeakCrypto no-pq-kex | post-quantum 키 교환 미사용에 대한 경고를 비활성화 |
IgnoreUnknown 옵션을 함께 쓰는 이유는, WarnWeakCrypto가 비교적 최신 옵션이라 구버전 SSH 클라이언트에서는 알 수 없는 옵션으로 간주되어 오류가 날 수 있기 때문입니다. 이를 방지하기 위해 함께 명시해줍니다.
마치며
이 설정은 경고를 숨기는 것이지, 보안 취약점을 해결하는 것은 아닙니다. 근본적인 해결책은 서버의 OpenSSH를 post-quantum 알고리즘을 지원하는 버전으로 업그레이드하는 것입니다. 하지만 당장 제어하기 어려운 외부 서버에 접속할 때, 또는 내부적으로 보안 위험도가 낮다고 판단되는 환경에서는 이 방법으로 불필요한 경고를 깔끔하게 정리할 수 있습니다.