warning

 

 

 


발생 현상


GIT 동기화 중에 아래와 같은 경고 문구가 나올 때  

** 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

 

서버 쪽 업데이트를 진행하면 되지만,
서버 쪽 업데이트가 용이하지 않은 경우 아래와 같이 처리하여 client만 경고가 나오지 않도록 처리 가능


 

1) 가장 권장: ~/.ssh/config(사용자 설정)에서 특정 호스트만 경고 끄기

1-1. 설정 파일 위치

✅ Windows (내장 OpenSSH / Windows Terminal / PowerShell에서 ssh 쓰는 경우)

  • 사용자 설정 파일:
    C:\Users\<사용자>\.ssh\config (즉, %USERPROFILE%\.ssh\config)

✅ Linux / macOS

  • 사용자 설정 파일:
    ~/.ssh/config

Tip: 사용자 설정(~/.ssh/config)이 가장 안전합니다. 시스템 전체(/etc/ssh/ssh_config)는 권한/영향 범위가 커서 비추천입니다.


1-2. 설정 예시 (딱 경고만 OFF)

아래 구문이 핵심입니다:

  • WarnWeakCrypto no-pq-kex : “PQ KEX 미사용 경고”만 끄기 
  • IgnoreUnknown WarnWeakCrypto : OpenSSH 버전이 달라서 옵션을 모를 때 오류 방지 

 

✅ 예시 1) NAS(예: 192.168.0.10) 접속 경고만 끄기

 
 

sshconfig 완전히 지원되지 않습니다. 구문 강조 표시는 Plain Text 기반합니다.
Host 192.168.0.10
  IgnoreUnknown WarnWeakCrypto
  WarnWeakCrypto no-pq-kex
 
 
  • 특정 대상에만 적용되므로 **다른 서버(예: 외부 중요 서버)**에는 영향이 없습니다.

 

✅ 예시 2) 별칭(Alias) 만들어서 편하게 쓰기

Host synology-git
  HostName 192.168.0.10
  User git
  Port 22
  IgnoreUnknown WarnWeakCrypto
  WarnWeakCrypto no-pq-kex
 
이후 접속,
ssh synology-git
 
 

 


1-3. “Git/TortoiseGit”에서도 경고가 뜨는 경우(중요)

Git이 SSH로 붙을 때도 결국 ssh(OpenSSH)를 쓰면 동일한 config가 적용됩니다.

✅ 원격 URL이 IP/호스트명으로 되어 있다면

  • Host <호스트명>이 Git remote에 들어있는 호스트명과 정확히 일치해야 적용됩니다.

예)

  • remote가 ssh://git@nas.local:22/volume1/repo.git 라면:
Host nas.local
  IgnoreUnknown WarnWeakCrypto
  WarnWeakCrypto no-pq-kex
  • remote가 git@192.168.0.10:repo.git 라면:
Host 192.168.0.10
  IgnoreUnknown WarnWeakCrypto
  WarnWeakCrypto no-pq-kex
 

2) 더 간단(임시): 명령 한 번에만 경고 끄기 (ssh -o ...)

설정 파일 편집이 어렵거나 “한 번만” 끄고 싶으면 아래처럼 옵션으로 넣을 수 있습니다.

 
ssh -o IgnoreUnknown=WarnWeakCrypto -o WarnWeakCrypto=no-pq-kex user@host
  • OpenSSH 문서에서 이 경고가 WarnWeakCrypto로 제어됨을 안내합니다.
  • IgnoreUnknown과 WarnWeakCrypto no-pq-kex 조합은 실제 적용 예시로 널리 사용됩니다. 

단점: 매번 입력해야 함 → 장기적으론 1번(config 파일)이 더 낫습니다.


3) “경고 말고도 전부 조용히” 하고 싶다면? (비추천이지만 옵션)

OpenSSH는 로그 레벨을 낮추면 여러 메시지가 덜 보입니다. 다만 이건 해당 PQ 경고만 타겟팅하는 방법이 아니라 전체 출력 자체를 줄이는 방식이라, 문제 진단 메시지도 같이 사라질 수 있습니다.

(참고용) 특정 호스트만 로그 레벨 낮추기:

Host synology-git
  LogLevel ERROR
  IgnoreUnknown WarnWeakCrypto
  WarnWeakCrypto no-pq-kex

가능하면 WarnWeakCrypto만으로 해결하는 것을 권장합니다. (딱 그 경고만 숨김) 


4) 적용 확인 방법 (정확히 체크)

4-1. 가장 간단: 다시 접속해보기

  • 동일 대상에 접속했을 때 경고가 사라지면 성공입니다. 

4-2. 디버그로 “설정 읽혔는지” 확인

 
ssh -vv synology-git

디버그 출력에 config 적용 흔적이 보이거나, 최소한 경고 문구가 더 이상 나오지 않으면 적용된 겁니다. 


5) 흔한 실수/트러블슈팅

(1) ~/.ssh/config 파일이 없어요

  • 그냥 새로 만들면 됩니다.

(2) Windows에서 적용이 안 되는 느낌

  • Git/TortoiseGit이 내장 OpenSSH가 아니라 PuTTY(Plink) 를 쓰는 경우가 있습니다.
    • PuTTY 계열은 OpenSSH의 WarnWeakCrypto 옵션을 읽지 않으므로(애초에 그 경고가 OpenSSH 메시지) 이 방법이 적용되지 않을 수 있습니다.
  • 이 경우: TortoiseGit → Settings → Network → SSH client 가 OpenSSH인지 Plink인지 확인이 필요합니다.

(3) Host 매칭이 틀린 경우

  • Host는 접속에 쓰는 호스트 문자열과 정확히 일치해야 합니다. (IP로 붙으면 IP, 도메인이면 도메인)

추천 적용 템플릿 

서버 업데이트 어렵고, NAS Git 접속에서만 경고 끄는 목적이라면 이게 가장 깔끔합니다:

Host synology-git 192.168.0.10 nas.local
  IgnoreUnknown WarnWeakCrypto
  WarnWeakCrypto no-pq-kex
  • 별칭(synology-git) / IP / 로컬 도메인(nas.local) 어떤 방식으로 접속해도 경고가 안 뜨도록 묶어둡니다.

 

+ Recent posts