비밀번호 문구가 설정되지 않은 공개 키의 비밀번호 문구를 요청하는 SSH


27

현재 서버에서 공개 키 인증을 사용하고 있지만 github 에 연결하려는 새 '클라이언트'에 문제가 있습니다 . 권한이 올바르게 설정되었는지 확인하고 github에 대한 새 키를 생성하기 위해 많은 스레드를 읽었습니다. 내가 겪고있는 문제는 ssh가 암호 문구를 설정하지 않았어도 암호 문구를 요구한다는 것입니다. 암호를 입력하지 않았 음을 100 % 확신하기 위해 키를 다시 만들었습니다.

ssh -vvv 는 다음과 같은 관련 출력을 제공합니다.

debug1: Offering public key: /home/me/.ssh/github.pub
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Remote: Forced command: gerve mygithubusername c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug3: sign_and_send_pubkey
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/me/.ssh/github.pub': 

PEM_read_PrivateKey가 실패 했다는 이유를 찾기 위해 검색 했지만 해결책을 찾을 수 없습니다.

에이전트 나 다른 것을 사용하지 않습니다. ~ / .ssh / config 파일을 다음과 유사하게 구성합니다.

Host github
Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github.pub

미리 감사드립니다.


@jasonwryan, 귀하의 의견을 답변으로 옮기십시오. 나는 당신이 옳다는 것을 확신합니다.
andcoz

그것은 조금 사소한 일이며, 나는 이것을 일찍 알아 차리지 못했지만 미래에 다른 사람들에게 도움이되기를 바랍니다.
earthmeLon

답변:


26

IdentityFile옵션 을 사용할 때는 공개 키가 아닌~/.ssh/config 개인 키 를 가리 킵니다 .

보낸 사람 man ssh_config:

IdentityFile
사용자의 DSA, ECDSA 또는 DSA 인증 ID를 읽을 파일을 지정합니다. 프로토콜 버전 1의 경우 기본값은 ~ / .ssh / identity이고 프로토콜 버전 2의 경우 ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa 및 ~ / .ssh / id_rsa입니다.

따라서 ~/.ssh/config입력 한 내용은 다음과 같습니다.

Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github

2
나는 그런 doofus입니다. 저의 유일한 은총은 이것이 미래의 다른 '도용'을 도울 수 있다는 것입니다.
earthmeLon

1
만드는 것은 쉬운
jasonwryan

1
나에게 도움이되었으므로 답을 주셔서 감사합니다!
Topher Fangio

1
나에게 doofus를 색칠하십시오.
예레미야

이것은 나를 위해 iit 않았다.
unity100

2

이 문제가 있었고 잘라 내기 및 붙여 넣기 오류였습니다. %키 파일의 끝에 단일 기호가 추가되었습니다 (따라서 마지막 행은 -----END RSA PRIVATE KEY-----%). 키의 길이가 잘못되었거나 형식이 잘못되었음을 나타내는 오류 또는 디버그 정보 또는 기타 정보는 없었지만 ssh는 암호를 요청했습니다.


1
비슷한 일이 생겼습니다. 다른 터미널에서 키를 복사하고 그것을 몰래 너무 많이 복사했습니다.
기예르모

1

필자의 경우 문제는 내 SSH 클라이언트가 ED25519 키를 지원하지 않는다는 것입니다. 해결책은 RSA 키를 만들어 대신 사용하는 것입니다.

이 문제는 OpenSSH <6.5 (실행 ssh -V) 및 PuTTY <0.68에서 발생 합니다.

이것은 다음 출력에서 ​​볼 수 있습니다 ssh -vvv.

debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com

번째 블록은 클라이언트가 지원하는 것과번째 블록은 서버가 지원하는 것을 설명합니다 . 보시다시피, 상위 절반에는 'curve25519'에 대한 언급이 없으므로 클라이언트가이를 지원하지 않음을 나타냅니다.


0

우리 팀에서는 이런 일이 발생해도 로컬에서는 아무 문제가 없습니다. 사용자의 ssh 키 및 / 또는 액세스가 연결중인 서버 (이 경우 호스팅 플랫폼)에서 올바르게 구성되지 않았습니다. 어떤 이유로 이것은 존재하지 않는 ssh 키에 대한 프롬프트를 트리거합니다.

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