PuTTYgen에서 생성 한 SSH 개인 키를 어떻게 설치합니까?


49

PuTTYgen에 의해 생성 된 공개 키를 authorized_keys파일 에 추가하여 Linux PC에서 홈 PC와의 연결을 허용하도록 설정했습니다 .

이제 동일한 컴퓨터에 연결하려고하지만 이번에는 다른 우분투 컴퓨터에서 연결하려고합니다. 나는 똑같은 개인 키를 사용해야합니다 (이상한 이유로 묻지 마십시오.) 클라이언트 Ubuntu에 설치하는 방법을 얻지 못했습니다.

다른 형식으로 변환해야합니까?

답변:


24

귀하의 개인 키가 우분투에서 작동하는지 확실하지 않지만 그만한 가치가 있습니다. 키를 복사하여 /home/yourName/.ssh/개인 키로 이름 을 지정 id_rsa하고 공개 키로 이름 을 지정하십시오 id_rsa.pub.

그래도 작동하지 않으면 ssh-keygen새 공개 키를 사용하여 자체 ssh 키 쌍 을 작성하고 서버에 복사 한 후 다음과 같이 ssh를 작성할 수 있습니다.

ssh -i ~/.ssh/id_rsa_ubuntu.pub <hostName>

나는 그것을 가지고 놀지 않았지만 ssh-agent를 사용하여 ssh 키를 관리 할 수 ​​있다고 들었습니다.


3
이것은 우분투에서 작동합니다. 그러나 기존 id_rsa 키가 이미있는 경우 기존 키를 사용하지 않는 경우를 제외하고 새 키를 복사하여 키 위에 덮어 쓰지 마십시오.
David Oneill

5
이 답변에는 정보가 완전히 없습니다 id_rsa. PuTTYgen에서 키를 변환하여 파일 을 얻는 방법
Martin Prikryl

38

우연의 일치로, 나는 단지 이것을해야했다. 키를 OpenSSH 형식으로 변환해야합니다. 이를 수행하는 명령은 다음과 같습니다.

ssh-keygen -i -f puttygen_key > openssh_key

당신은의 내용을 복사 할 수 있습니다 openssh_key.ssh/authorized_keys그냥 일반 SSH 키를 사용한다.

-i옵션을 알려주는 하나 ssh-keygen의 변환을 할 수 있습니다. 이 -f옵션은 변환 할 키를 찾을 위치를 알려줍니다.

이것은 암호화되지 않은 키에 적용됩니다. 공개 키는 암호화되지 않지만 개인 키는 암호화되어있을 수 있습니다. 개인 키를 암호화 해제하고 변환 한 다음 다시 암호화하는 방법이 있는지 확실하지 않습니다. 다른 답변에서 제안하는 것처럼 새 키를 사용하는 것이 더 쉬울 수 있습니다 ( ssh-agent현재 문제와 직교하지만 사용 하는 것이 좋습니다 ).


1
이 답변은 내 문제를 해결합니다. 키를 변환해야했습니다. 감사합니다
leticia

1
이것은 공개 키를 변환하여 문제의 일부만 해결합니다. @ user18617의 답변을 사용하여 개인 키도 변환했습니다.
ᴠɪɴᴄᴇɴᴛ


@ ÉdouardLopez puttygen_key는 개인 키 (* .ppk)가 아닌 공개 키 여야합니다.
endolith

28

Andrew Stacey는 Linux에서 키를 OpenSSH 형식으로 변환하는 방법을 설명했습니다 .

Windows에서 동일한 작업을 수행하려면 다음 단계를 수행하십시오.

  1. PuTTYGen을 시작하십시오.
  2. "로드"를 클릭하십시오.
  3. 개인 키를 선택하고 암호를 입력하십시오.
  4. 'Conversions'메뉴에서 "Export OpenSSH key"를 선택하십시오.
  5. 대상 파일 이름을 선택하십시오.

1
우분투 섹션이라는 것을 알고 있지만 이것이 Mac OS X에서 저에게 효과적이라고 말하고 싶었습니다. 위에서 설명한대로 Windows에서 생성 된 개인 키를 변환 한 다음 내 Mac에서 ~ / .ssh / id_rsa로 복사했습니다. chmod id_rsa 600을 사용하면 Mac에서 불평하지 않습니다.
Richard

24

Ubuntu에서 Putty 키 페어를 OpenSSH 키로 재사용하는 방법 :

apt-get install putty-tools #Install Putty tools in Linux
cd /my-putty-keys
puttygen mykey-sec.ppk ‐O private‐openssh ‐o my‐openssh‐key.sec
ssh-keygen -i -f mykey-pub.ppk > my-openssh-key.pub

4 단계의 목적은 공개 키를 * ~. / ssh / authorized_keys *에 추가하는 것이므로 4 단계를 중간 단계로 수행하는 대신 Putty 비밀 키를 다음과 같이 사용할 수 있습니다.

puttygen ‐L mykey-sec.ppk >> $HOME/.ssh/authorized_keys

1
약 4 단계 : 개인 키 이름이 mykey-sec.ppk 인 경우이 경우 소스 파일 이름은 일반적으로 mykey-sec.pub입니다.
Kinjal Dixit

2
파일의 형식이 완전히 다르고 공개 키가 아닌 키 쌍에 사용되므로 공개 키 이름 지정 (아마도 RFC 4716 형식) mykey-pub.ppk은 혼동 .ppk됩니다.
Martin Prikryl

마지막 puttygen 라인은 데비안 9에 putty-tools를 설치 한 후에 완벽하게 작동했습니다. 여기에있는 다른 라인과 답변은 작동하지 않았습니다.
Tim

이상하게 내가지고 있다고 puttygen: unknown output type `private‐openssh'하고 puttygen: cannot handle more than one input file그래서 정확한 복사 된 소스 코드의 문자 와 완전히 다른 뭔가를 내 공개 키를 이름
CPHPython

이 답변에서 명령을 실행하려고하면 "puttygen : 둘 이상의 입력 파일을 처리 할 수 ​​없습니다"가 표시되면 "private-openssh"의 대시 문자가 실제 ASCII 대시로 붙여지지 않았기 때문일 수 있습니다. 따라서 puttygen은 그것을 인식하지 못합니다. 대신 단어를 직접 입력하면 작동합니다.
매트 스타일

9

PuTTY / PuTTYgen은 자체 독점 형식의 키 페어를 사용합니다. OpenSSH 형식의 키가 널리 사용되는 Linux에서는 작동하지 않습니다.

  • PuTTYgen에서는 공개 키를 OpenSSH authorized_keys파일에서 사용하는 형식으로 직접보고 복사 할 수 있습니다 .

  • 당신은 버튼을 사용할 수 있습니다 공개 키 저장을 저장하기 위해 공공 의 주요 .pub형식 (RFC 4716)을. Linux에서 파일 이름은 일반적으로 id_rsa.pub(또는 id_dsa.pub)입니다. 그러나 그것은 일반적으로 필요하지 않습니다.

  • 개인 키를 OpenSSH 형식 으로 내보내 려면 변환> OpenSSH 키 내보내기를 사용하십시오 . Linux에서 파일 이름은 일반적으로 (또는 )이며 폴더에 저장됩니다 .id_rsaid_dsa.ssh

PuTTY 키 생성기 공식 PuTTYgen 사용을 참조하십시오 .

Linux 버전의 PuTTYgen을 사용하여 변환을 수행 할 수도 있습니다. Linux 버전은 Windows 버전과 달리 명령 줄입니다.

puttygen mykey.ppk ‐O private‐openssh ‐o id_rsa

Linux puttygen매뉴얼 페이지를 참조하십시오 .


2

하나 더 명확한 해결책을 찾았습니다.

puttygen변환을 클릭 - 키를 만든 다음 상단 메뉴로 이동 수출 OpenSSH의 키를

파일 내용은 다음으로 시작하고 끝납니다

-----BEGIN RSA PRIVATE KEY----- 

-----END RSA PRIVATE KEY-----
  • 루트 사용자에 대해 해당 키 파일에 복사 /root/.ssh/id_rsa또는id_dsa

  • 다른 사용자에 대해 해당 키 파일에 복사 /home/user/.ssh/id_rsa또는id_dsa

노트 :

  1. 편집 할 필요가 없습니다 authorized_keys.
  2. 아마존 리눅스를 사용하고 있습니다
  3. 파일 권한 0600

1

* * 상자를 제대로 액세스하지 않으면 콘솔에서 수정하기 전까지 다시 입력 할 수 없으므로 상자에 대한 콘솔 액세스 권한이 있어야합니다.

생각보다 프로세스가 훨씬 쉽습니다. puttygen에서 생성 한 공개 / 개인 키 쌍을 다시로드하십시오. puttygen에서는 화면 중앙에 "Open SSH certified_keys 파일에 붙여 넣기위한 공개 키 :"라는 창이 나타납니다.

상자의 전체 내용을 강조 표시하고 control-c를 눌러 복사하십시오.

리눅스 박스에 SSH를 넣고 "/home/username/.ssh/authorized_keys"파일에 붙여 넣으십시오. 나노를 사용하고 마우스 오른쪽 버튼을 클릭하여 붙여 넣는 것을 선호합니다. 모두 한 줄로 유지하십시오.

필요에 따라 / etc / sshd_config 파일을 수정하고 sshd 서비스를 다시 시작하십시오 : "service ssh restart"

샘플 sshd_config 파일이 필요하면 알려 주시면 게시 할 수 있습니다.

우분투 8.04, 10.04 및 12.04 LTS 서버 에서이 작업을 수행했으며 매끄럽게 작동합니다.


0

이 스레드가 여전히 활성화되어 있는지 확실하지 않지만 현재 Ubuntu 커널을 지원하는 Windows 10 주년 에디션과 비슷한 문제가 발생했습니다. Linux 시스템에 연결하기 전에 퍼티를 사용합니다. 리눅스 형식으로 id_rsa를 생성하려면 puttykeygen을 사용하고 퍼티 개인 키를로드 한 다음 변환을 클릭하고 두 번째 옵션을 선택하십시오.

퍼티 키 제너레이터

새로 생성 된 키 파일을 열고 모든 내용을 복사하고 내용이 다음으로 시작하는지 확인하십시오. ----- RSA PRIVATE KEY ----- 로 시작하고 ----- END로 끝납니다. RSA PRIVATE KEY -----

vi ~ _.ssh 디렉토리 안에 id_rsa를 입력하고 복사 한 내용을 붙여 넣습니다. 그렇지 않으면 linux가 파일의 내용을 이해하지 못하기 때문에 필요합니다.

그게 다야, 원격 서버에 ssh를 시도해보십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.