개인 키에서 공개 SSH 키를 작성 하시겠습니까?


215

SSH 키가 있지만 공개 키 부분을 삭제했다고 가정합니다. 개인 키 부분이 있습니다. 공개 키 부분을 다시 생성 할 수있는 방법이 있습니까?

답변:


253

ssh-keygen에 -y 옵션을 사용하십시오.

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

'남자 ssh-keygen'에서

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

-f 옵션을 사용하여 개인 키를 지정하면 rsa 대신 dsa가 될 수 있습니다. 개인 키의 이름은 아마도 당신이 사용한 것을 포함합니다. 새로 생성 된 공개 키는 이전에 생성 한 공개 키와 동일해야합니다.


7
왜 "-t dsa"입니까? OP의 키가 rsa입니까? -t를 제거하고 대신 -f를 사용합니다.
innaM

1
좋은 지적, 이에 따라 업데이트 됨
Kyle Brandt

예, 원래는 RSA였습니다.
Rory

1
Mac OSX 10.9.3 매버릭스에서 명령을 실행 한 후 '로드 실패'가 표시됩니다. 이 문제를 어떻게 해결합니까?
Hyperfocus

개인 키가 암호로 보호 된 경우 -N 매개 변수를 사용하여이 단계를 한 단계 더 진행할 수 있습니다.ssh-keygen -f ~/.ssh/id_rsa -y -N "$PASSWORD" > ~/.ssh/id_rsa.pub
ken

6

Windows를 사용하는 사용자를위한 솔루션

사용되는 도구 :

  • Puttygen (PuTTY 키 생성기)
  • WinSCP

수행 단계 :

  1. PuTTY 키 생성기를 엽니 다.
  2. 개인 키 ( *.ppk파일)를 로드하십시오 .
  3. PuTTY 키 생성기의 "OpenSSH certified_keys 파일에 붙여 넣기위한 공개 키"섹션에서 공개 키 데이터를 복사하고 사용하려는 경우 키 데이터를 "authorized_keys"파일 (메모장 사용)에 붙여 넣습니다.

초점을 맞추는 Puttygen의 부분을 보여주는 스냅 샷 :

Puttygen의 일부를 보여주는 스냅 샷



Puttygen은 OpenSSH (실제로 OpenSSL-legacy) 및 SSHCOM 형식 개인 키를 '가져올'수도 있습니다. Windows에서 시작되었지만 Unix로도 포팅되었으며 Unix 버전은 puttygenGUI가 아닌 명령 줄 프로그램입니다. 예 : linux.die.net/man/1/puttygen
dave_thompson_085
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.