SSH 공개 키 형식


11

다음 형식의 공개 키가 있습니다.

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

일반적으로 다음과 같은 형식의 키가 표시됩니다.

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

authorized_keys 파일의 첫 번째 키를 복사하거나 두 번째 키처럼 보이도록 수정해야합니까? 첫 번째는 PUTTYgen에 의해 생성 된 것이고 두 번째는 ssh-keygen에 의해 생성 된 것 같습니다.

답변:


16

ssh-keygen -iSSH2 호환 형식을 OpenSSH 호환 형식으로 변환 하는 데 사용 합니다.

부터 man ssh-keygen:

-i이 옵션은 SSH2 호환 형식으로 암호화되지 않은 개인 (또는 공개) 키 파일을 읽고 OpenSSH 호환 개인 (또는 공개) 키를 stdout에 인쇄합니다. ssh-keygen은 RFC 4716 SSH 공개 키 파일 형식도 읽습니다. 이 옵션을 사용하면 여러 상용 SSH 구현에서 키를 가져올 수 있습니다.


4

공개 키를 openssh 규칙으로 변환해야합니다.

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

또한 키가 정확히 한 줄을 차지하고 복사하는 동안 줄 바꿈이 발생하지 않았는지 확인하십시오.


4

이것은 완전하고 정답입니다.

ssh-keygen -i -m PKCS8 -f public-key.pem


1
"RFC4716"이 기본 key_format이며, -m은이 인스턴스에서 INPUT의 형식을 출력용이 아닌 것으로 지정하기위한 것으로 보이므로 올바른 것입니다.
JimNim

기술적으로 alexus의 "올바른"대답은 잘못된 것이 아닙니다. 그 대답은 전체 구문을 설명하지는 않습니다. 맨 페이지에서 -i 구문 / 사용을 점검 할 필요가있는 기본 플래그 만 지정하면됩니다.
JimNim

2

다음에 적합한 형식으로 키를 다시 작성하십시오 authorized_keys.

keytype keybody 키 이름

키 길이를 원하는 길이와 동일하게 유지하려면 뒤에 "=="가 있어야합니다.


4
후행 "=="는 Base64 패딩
Andrew

RSA 또는 DSA인지 어떻게 알 수 있습니까?
Hans
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.