이 튜토리얼 제목 : SSH : OpenSSH를 SSH2로 변환하고 그 반대로도 원하는 것을 제공하는 것으로 보입니다.
OpenSSH 키를 SSH2 키로 변환
ssh-keygen
OpenSSH 공개 키 에서 OpenSSH 버전을 실행하여 원격 시스템의 SSH2에 필요한 형식으로 변환하십시오. OpenSSH를 실행하는 시스템에서 수행해야합니다.
$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub
SSH2 키를 OpenSSH 키로 변환
ssh-keygen
ssh2 공개 키 에서 OpenSSH 버전을 실행하여 OpenSSH 에 필요한 형식으로 변환하십시오. OpenSSH를 실행하는 시스템에서 수행해야합니다.
$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub
이 튜토리얼에서는 다양한 유형의 키를 생성하는 방법과 다른 형식으로 내보내는 방법을 보여줍니다.
개인 및 공개 키에 사용 하시겠습니까?
매뉴얼 페이지에 따르면 대답은 '예'입니다. 매뉴얼 페이지를 ssh-keygen
보면 -e
스위치에 대해 다음을 나타냅니다 .
-e This option will read a private or public OpenSSH key file and print
the key in RFC 4716 SSH Public Key File Format to stdout. This option
allows exporting keys for use by several commercial SSH implementations.
그러나 실제로는 ssh-keygen
개인 키를 변환 할 수 없으며 공개 키만 변환 할 수 있습니다.
예를 들면 다음과 같습니다.
# Make a new RSA key-pair
$ ssh-keygen -t rsa -f newkey
# attempt to extract the private key
$ ssh-keygen -e -f newkey > newkey_e
# attempt to extract the public key
$ ssh-keygen -e -f newkey.pub > newkey.pub_e
# Notice the supposed extracted private key (newkey_e) and the corresponding extracted public key (newkey.pub_e) have identical `md5sum`'s.
$ for i in *;do md5sum $i;done
d1bd1c12c4a2b9fee4b5f8f83150cf1a newkey
8b67a7be646918afc7a041119e863be5 newkey_e
13947789d5dcc5322768bd8a2d3f562a newkey.pub
8b67a7be646918afc7a041119e863be5 newkey.pub_e
추출 된 결과 키를 보면 다음이 확인됩니다.
$ grep BEGIN newkey_e newkey.pub_e
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----
조금 인터넷 검색을 나는 제목의 기사에서이 추천 광고 건너 온 : 당신은 SSH에 OpenSSH의 개인 키 파일을 변환 할 방법 . 사이트가 위아래로 보이지만 이 페이지에 대한 Google의 캐시를 살펴보면 다음과 같은 문제점이 발견되었습니다.
OpenSSH 개인 키 파일을 SSH.com 개인 키 파일로 어떻게 변환합니까?
대부분의 매뉴얼 페이지에서 가능하다고하더라도 ssh-keygen 프로그램으로 수행 할 수 없습니다. 여러 공개 키를 사용하도록 권장하지 않습니다. 유일한 문제는 RCF에서 둘 이상의 공개 키를 등록 할 수 없다는 것입니다.
이 기사에서는 PuTTY puttygen
도구를 사용하여 openssh 개인 키를 ssh.com 개인 키로 변환하는 방법에 대해 설명 합니다. 참고 : puttygen
Windows 및 Linux에서 실행할 수 있습니다.
'puttygen'을 열고 2048 비트 rsa 공개 / 개인 키 쌍을 생성하십시오. 비밀번호가 생성 된 후 추가해야합니다. 공개 키를 "puttystyle.pub"로 저장하고 개인 키를 "puttystyle"로 저장하십시오. 퍼티 프로그램과 SSH.com 프로그램은 일반적인 공개 키 형식을 공유하지만 퍼티 프로그램과 OpenSSH는 다른 공개 키 형식이 있습니다. 우리는 나중에 이것으로 돌아올 것입니다. 퍼티 스타일 키를 퍼티 프로그램에로드 할 수 있어야합니다. 그러나 putty 및 SSH.com의 개인 키 형식은 동일하지 않으므로 변환 된 파일을 작성해야합니다. 변환 메뉴로 이동하여 SSH.com 키를 내 보냅니다. "sshstyle"로 저장하십시오. 이제 변환 메뉴로 돌아가 openssh 키를 내 보냅니다. "openssh"로 저장하십시오. 이 이름은 임의적이며 자신이 선택할 수 있습니다. 나중에 OpenSSH 시스템에 설치할 이름을 변경해야합니다. 아래를 참조하십시오.
위의 것을 감안할 때 puttygen
이전에 생성 된 개인 / 공개 openssh 키 쌍을 사용하여을 사용하여 다음을 해결했습니다 .
# generate ssh.com private key from private openssh key
$ puttygen newkey -O private-sshcom -o newkey.puttygen-sshcom
# generate ssh.com public key from private openssh key
$ puttygen newkey -O public -o newkey.pub_puttygen-sshcom
# generate openssh public key from private openssh key (for confirmation)
$ puttygen newkey -O public-openssh -o newkey.pub_puttygen-openssh
주석이 다르므로 결과 파일을 비교할 수 없으므로 키의 처음 몇 줄을 보면 위의 명령이 성공했음을 나타내는 좋은 지표입니다.
공개 ssh.com 키 비교 :
$ tail -n +3 newkey.pub_e | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb
$ tail -n +3 newkey.pub_puttygen-sshcom | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb
공개 openssh 키 비교 :
$ cut -c 1-100 newkey.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY
$ cut -c 1-100 newkey.pub_puttygen-openssh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY