“key_load_public : 해당 파일이나 디렉토리가 없습니다”는 무엇을 의미합니까?


42

나는 PubkeyAuthentication유일한 문제를 해결하고 있습니다. 상세 모드를 사용하면 "key_load_public : no such file or directory"가 많이 나타납니다 .

분명히 키는 파일 시스템에서 종료되므로 메시지가 일반적인 의미를 갖지 않는 것으로 보입니다.

$ ls -al ~/.ssh/id_*
-rw-------  1 jwalton  staff   751 Feb  4  2013 id_dsa
-rw-------  1 jwalton  staff   608 Feb 18  2015 id_dsa.pub
-rw-------  1 jwalton  staff   314 Feb  4  2013 id_ecdsa
-rw-------  1 jwalton  staff   180 Feb 18  2015 id_ecdsa.pub
-rw-------  1 jwalton  staff   464 Aug 23 18:15 id_ed25519
-rw-------  1 jwalton  staff   103 Aug 23 18:15 id_ed25519.pub
-rw-------  1 jwalton  staff  2546 Feb  4  2013 id_rsa
-rw-------  1 jwalton  staff   572 Feb 18  2015 id_rsa.pub

"key_load_public : 해당 파일이나 디렉토리가 없음" 은 정확히 무엇을 의미합니까?


.ssh/config파일은 다음과 같습니다

$ cat ~/.ssh/config
IdentityFile ~/.ssh/id_ed25519
IdentityFile ~/.ssh/id_ecdsa
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/id_rsa

*.pub확장명을 추가해도 효과가 없습니다. *.pub맨 페이지는 공개 또는 개인 키를 지정 해야하는 것과 관련하여 모호하기 때문에 유무에 관계없이 시도했습니다 . (공개 키는 ID에 필요한 전부이며, 챌린지 / 응답에서 키의 소유권을 증명하려면 개인 키가 필요합니다) :

IdentityFile
    Specifies a file from which the user's DSA, ECDSA or DSA authen-
    tication identity is read...

$ ssh -v -p 1522 jwalton@192.168.1.11
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /Users/jwalton/.ssh/config
debug1: Reading configuration data /usr/local/etc/ssh_config
debug1: Connecting to 192.168.1.11 [192.168.1.11] port 1522.
debug1: Connection established.
debug1: identity file /Users/jwalton/.ssh/id_ed25519.pub type 4
debug1: key_load_public: No such file or directory
debug1: identity file /Users/jwalton/.ssh/id_ed25519.pub-cert type -1
debug1: identity file /Users/jwalton/.ssh/id_ecdsa.pub type 3
debug1: key_load_public: No such file or directory
debug1: identity file /Users/jwalton/.ssh/id_ecdsa.pub-cert type -1
debug1: identity file /Users/jwalton/.ssh/id_dsa.pub type 2
debug1: key_load_public: No such file or directory
debug1: identity file /Users/jwalton/.ssh/id_dsa.pub-cert type -1
debug1: identity file /Users/jwalton/.ssh/id_rsa.pub type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/jwalton/.ssh/id_rsa.pub-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.1
...

답변:


66

문자 그대로의 의미입니다. ssh가 액세스하려는 파일이나 디렉토리가 없습니다.

그러나 위가 아닌 아래 에 언급 된 파일에 대해 이야기합니다 . 일반 공개 키만 있지만 SSH 인증서 가 없습니다 (아마도 필요하지 않기 때문에). 그러나 OpenSSH는 항상 .pub-cert각 ID 키에 대한 관련 파일 을로드하려고 시도합니다 .


ssh-keygen (1) 매뉴얼은 OpenSSH 인증 기관 생성 및 인증서 서명에 대해 설명합니다. (참고 : 이것은 X.509를 사용하지 않으며 OpenSSH 자체 인증서 형식 만 사용합니다.)

일반적으로 인증서는 방대한 양의 사용자 (및 / 또는 서버)가 있지만 Kerberos를 사용하지 않으려는 경우에만 유용합니다.


감사합니다 Grawity. 에 대해 IdentityFile무엇을 지정해야합니까? 공개 키 또는 개인 키?
jww

개인 키 파일이어야합니다 (실제로는 전체 키 쌍이 포함되어 있습니다. 추가 .pub파일은 [편의] 편의를위한 것임 ).
grawity

5
죄송합니다. 혼란 스럽습니다. 누군가가 실제로 버그 보고서를 제출해야합니다 :-(
einpoklum-복원 Monica Monica


12
때때로 "버그 보고서"는 문자 그대로 "버그 보고서"를 의미합니다. 모든 openssh 사용자가 C 프로그래머는 아닙니다.
grawity
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.