key_load_public : 잘못된 형식
PuTTY 키 생성기를 사용하여 암호가있는 4096 비트 RSA-2 키를 생성했습니다.
.ppk와 openSSL 형식 공개 키를 저장합니다. 퍼티 형식 공개 키가 작동하지 않습니다.
어쨌든 내 오류는 다음과 같습니다.
$ ssh -T git@github.com
key_load_public: invalid format
Enter passphrase for key '/c/Users/Dan/.ssh/id_rsa':
Hi Dan! You've successfully authenticated, but GitHub does not provide shell access.
무엇이 문제입니까?
Pageant를 사용하여 키를로드하고 Git Bash를 사용하여 ssh 연결을 시도합니다. 나는 또한 키를 GitHub에로드했지만 내가 뭘 잘못하고 있는지 확실하지 않습니다.
새 줄을 추가하고 GitHub에 새 줄을 추가하지 않았습니다.
으로 롤랜드는 자신의 대답에 언급, 그것은 경고가가의 ssh-agent
공개 키의 형식을 이해하지 않는, 심지어 다음, 공개 키는 로컬로 사용되지 않습니다.
그러나 경고가있는 이유를 자세히 설명하고 대답 할 수도 있습니다. 단순히 PuTTY 키 생성기 가 프로그램에서 수행하는 작업에 따라 두 가지 다른 공개 키 형식을 생성 한다는 사실로 요약됩니다 .
참고 : 설명 전체에서 사용 / 생성 할 키 파일의 이름 id_rsa
은 적절한 확장자로 지정됩니다. 또한 복사-붙여 넣기의 편의를 위해 키의 상위 폴더는 ~/.ssh/
. 필요에 따라 이러한 세부 사항을 조정하십시오.
형식
SSH-2
이 때 저장 사용하여 키를 퍼티 키 생성기를 "저장 공개 키"버튼을 사용하여, 그것은에 의해 정의 된 형식으로 저장됩니다 RFC 4716 .
예:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "github-example-key"
AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYF
i2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcp
pY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3
oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEA
ip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9
tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw==
---- END SSH2 PUBLIC KEY ----
OpenSSH
대중적인 믿음과는 달리,이 형식은 생성기에 의해 저장되지 않습니다. 그러나 "OpenSSH authorized_keys 파일에 붙여 넣기위한 공개 키"라는 제목의 텍스트 상자에 생성되고 표시됩니다. 파일로 저장하려면 텍스트 상자에서 수동으로 복사하여 새 텍스트 파일에 붙여 넣어야합니다.
위에 표시된 키의 경우 다음과 같습니다.
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw== github-example-key
키의 형식은 간단 ssh-rsa <signature> <comment>
하며 SSH-2 형식의 파일을 재정렬하여 만들 수 있습니다.
공개 키 재생성
을 사용하는 ssh-agent
경우에도 액세스 할 수 ssh-keygen
있습니다.
OpenSSH 개인 키 ( id_rsa
파일)가있는 경우 다음을 사용하여 OpenSSH 공개 키 파일을 생성 할 수 있습니다.
ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
PUTTY 개인 키 ( id_rsa.ppk
파일) 만있는 경우 먼저 변환해야합니다.
- PuTTY 키 생성기 열기
- 메뉴 표시 줄에서 "파일"> "개인 키로드"를 클릭합니다.
id_rsa.ppk
파일 선택- 메뉴 표시 줄에서 '전환'> 'OpenSSH 키 내보내기'를 클릭합니다.
- 파일을 다른 이름으로 저장
id_rsa
(확장자 없음)
이제 OpenSSH 개인 키가 ssh-keygen
있으므로 위와 같은 도구를 사용 하여 키에 대한 조작을 수행 할 수 있습니다 .
보너스 : PKCS # 1 PEM 인코딩 공개 키 형식
솔직히 말해서이 키가 필요하지 않았기 때문에이 키가 어떤 용도로 사용되는지 모르겠습니다. 그러나 나는 수년에 걸쳐 수집 한 노트에 그것을 가지고 있으며 건전한 선을 위해 여기에 포함시킬 것입니다. 파일은 다음과 같습니다.
-----BEGIN RSA PUBLIC KEY-----
MIIBCAKCAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5Ew
gnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8D
Gm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48
ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8
hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D
6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElwIBJQ==
-----END RSA PUBLIC KEY-----
이 파일은 다음을 사용하여 OpenSSH 개인 키 (위의 "공개 키 재생성"에서 생성됨)를 사용하여 생성 할 수 있습니다.
ssh-keygen -f ~/.ssh/id_rsa -y -e -m pem > ~/.ssh/id_rsa.pem
또는 다음을 사용하여 OpenSSH 공개 키를 사용할 수 있습니다.
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pem > ~/.ssh/id_rsa.pem
참조 :
ssh
공개 키를 읽을 수없는 것 같습니다 . 그러나 그것은 중요하지 않습니다.
공개 키 를 github에 업로드 하지만 개인 키를 사용하여 인증합니다 . 예를 들어의 FILES 섹션을 참조하십시오 ssh(1)
.
In the case you copy your public key with clipboard and paste it, it may happen the public key string can be broken which contains new-line.
Make sure your public key string formed as one line.
Instead of directly saving the private key Go to Conversions and Export SSh Key. Had the same issue and this worked for me
I had the same warning. It was a very old key. I regenerated a key on the current OpenSSH 7, and the error was gone.
참고URL : https://stackoverflow.com/questions/42863913/key-load-public-invalid-format
'Nice programing' 카테고리의 다른 글
C ++ 코드에서`???-`의 의미 (0) | 2020.11.30 |
---|---|
Python 요청을 사용하여 SOAP 요청 보내기 (0) | 2020.11.30 |
typescript에서 svg 파일을 가져올 수 없습니다. (0) | 2020.11.30 |
IntelliJ에서 전체 프로젝트에 대해 "단축 명령 줄"방법을 구성하는 방법 (0) | 2020.11.30 |
str (변수)가 비어 있는지 확인하는 방법은 무엇입니까? (0) | 2020.11.29 |