ppk를 암호로 암호화된 openSSH 개인 키로 변환하는 방법

ppk를 암호로 암호화된 openSSH 개인 키로 변환하는 방법

PuttyGen에서 개인 키를 내보낼 때 내가 설정한 암호가 openSSH 버전에서도 사용되는 것으로 가정했습니다. 입력한 암호가 작동하지 않는 것으로 나타났습니다. 암호 문구를 사용하여 개인 키를 openSSH 형식으로 내보내는 올바른 방법은 무엇입니까?

내보낸 SSH 키를 Linux로 전송하기 위해 방금 nano에 붙여넣고 ssh-add를 시도했습니다. 암호를 입력하라는 메시지가 표시되지만 내가 제공한 암호는 허용되지 않습니다. PuttyGen은 해당 암호로 잘 가져옵니다.

답변1

Windows PuTTYgen의 "OpenSSH 키 내보내기"하다3DES-CBC로 키를 암호화합니다. 암호가 비어 있지 않으면 출력 파일에 다음과 같이 표시됩니다.

-----RSA 개인 키 시작----
프로세스 유형: 4,암호화됨
DEK 정보: DES-EDE3-CBC,157A04D5AE43F45B

NiGUXnTOhATzg4dGvyXs8rzetF7KpplJJIKrZvQunXuVcZhVS+NTpnTgwJb+zOCm
...

나는 지난 4년 동안 다양한 버전에서 이것을 테스트했습니다. 암호가 비어 있으면 "정말입니까?"라는 메시지가 나타납니다. 즉각적인.

Linux에서는 puttygen변환 시 항상 동일한 암호를 사용합니다.


RSA 및 DSA 키의 경우 OpenSSH는 OpenSSL과 동일한 '원시' 키 형식을 사용합니다. 따라서 3DES-CBC가 충분하지 않은 경우 다음을 사용할 수 있습니다.openssl다시 암호화하는 명령줄 도구:

openssl rsa -aes-128-cbc < old.key > new.key

물론 Unix에서는 OpenSSH 자체가 ssh-keygen더 좋습니다.

ssh-keygen -p -f old.key

관련 정보