WinSCP에서 .ppk 키 인증 실패 오류 해결 방법 (PuTTY는 되는데 WinSCP는 안 될 때)
문제 상황
서버 작업을 하면서 PuTTY와 WinSCP를 같이 사용하는 경우가 많습니다.
저도 평소에 PuTTY로 서버에 접속한 뒤, 파일 전송이 필요할 때 WinSCP를 사용하고 있습니다.
그런데 어느 날부터 PuTTY에서는 정상적으로 접속이 되는데,
WinSCP에서는 동일한 .ppk 키 파일을 사용해도 접속이 되지 않는 문제가 발생했습니다.
발생한 오류 메시지
WinSCP에서 접속을 시도하면 다음과 같은 메시지가 출력되었습니다.
- 서버가 키를 거부하였습니다
- 인증에 실패했습니다
- No supported authentication methods available
사용자명, 포트, 서버 주소 모두 동일했고,
PuTTY 세션을 그대로 가져왔기 때문에 설정 문제라고 보기도 애매한 상황이었습니다.
원인 확인 과정
처음에는 서버 설정이나 authorized_keys 문제를 의심했습니다.
하지만 PuTTY에서는 동일한 키로 정상 접속이 되었기 때문에 서버 쪽 문제는 아닌 것으로 판단했습니다.
확인해 보니, PuTTY는 최신 버전을 사용 중이었고
WinSCP는 꽤 오래된 버전을 그대로 사용하고 있었습니다.
최근 PuTTY에서 생성되거나 업데이트된 .ppk 키는
구버전 WinSCP에서 제대로 인식하지 못하는 경우가 있다는 것을 알게 되었습니다.
즉, 키 파일 자체가 문제라기보다는
클라이언트 도구 간 버전 차이로 인한 호환성 문제였습니다.
해결 방법
해결 방법은 생각보다 간단했습니다.
WinSCP 최신 버전으로 업데이트
WinSCP를 최신 버전으로 업데이트한 뒤,
기존에 사용하던 .ppk 키 파일을 그대로 다시 지정해 접속을 시도했습니다.
별도의 키 재생성이나 서버 설정 변경 없이
정상적으로 접속이 되는 것을 확인할 수 있었습니다.
확인해 볼 필요 없는 부분
이번 문제는 다음 항목들과는 관련이 없었습니다.
- 서버 SSH 설정
- 방화벽 또는 네트워크 설정
- 키 파일 권한 문제
- 사용자 계정 문제
설정 변경 전에 클라이언트 버전부터 확인하는 것이 우선이었습니다.
정리
PuTTY에서는 접속이 되는데 WinSCP에서만 SSH 키 인증이 실패한다면,
서버나 키 설정을 바로 의심하기보다는 WinSCP 버전 문제를 먼저 확인하는 것이 좋습니다.
보안 도구들은 업데이트에 따라 키 포맷도 함께 변경되기 때문에,
오래된 클라이언트를 그대로 사용하는 경우 이런 문제가 발생할 수 있습니다.
비슷한 상황을 겪고 있다면,
설정 수정 전에 먼저 WinSCP를 최신 버전으로 업데이트해 보시길 권장합니다.