문제 상황

서버 작업을 하면서 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를 최신 버전으로 업데이트해 보시길 권장합니다.