OPENSSH RSA로 변환하는 방법 JSchException :: invalid privatekey 해결방법
Java에서 SFTP를 사용하려면 JSCH 라이브러리를 사용한다
하지만 해당 라이브러리는 OPENSSH를 지원하지 않아 OPENSSH로 된 pem으로 인증을 받으면 아래와 같은 오류 메시지를 뱉는다
(JSchException) :: invalid privatekey: [B@6fae7a8d
위와 같은 에러를 뱉는다면 pem을 열어 OPENSSH인지 RSA인지 확인 할 수 있다
-----BEGIN OPENSSH PRIVATE KEY-----
[KEY CONTENT]
-----END OPENSSH PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
[KEY CONTENT]
-----END RSA PRIVATE KEY-----
해결방법
해결항법은 의외로 간단하다
OPENSSH를 RSA로 변환하면 에러는 금방 사라진다
OPENSSH를 RSA로 변환하는 방법은 아래와 같다
먼저 PUTTYGEN을 설치한다
Download PuTTY: latest release (0.80)
This page contains download links for the latest released version of PuTTY. Currently this is 0.80, released on 2023-12-18. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel
www.chiark.greenend.org.uk
위 링크에서 puttygen.exe를 컴퓨터 버전에 맞게 설치
실행하면 이런 팝업창의 key generator가 나타나고
Conversions -> Import key 선택 후 바꾸고자 하는 pem을 불러온다
passphrase를 입력한다
그럼 자동으로 key의 항목들이 로드되고
Conversions -> Export OpenSSH key를 선택하면 RSA로 바꾼 pem을 만들 수 있다
물론 DSA나 다른 암호화 방식을 선택하고 Export를 하면 해당 암호화 방식으로 바꾼 pem을 만들 수 있다