「key_load_public:no such file or directory」とはどういう意味ですか?


42

PubkeyAuthentication-onlyの問題のトラブルシューティングを行っています。詳細モードを使用すると、「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ます。追加のファイルは[利便性]のためだけです)。
悲しみ

5
Ooph、今では混乱しています。誰かが実際にバグレポートを提出する必要があります:
einpoklum-モニカを

1
「バグ報告を提出する」という意味が「修正を提出する」という場合は、お気軽にgithub.com/openssh/openssh-portable/blob/master/README#L38 :)にご連絡ください。:ここで探し始めるための場所だgithub.com/openssh/openssh-portable/blob/master/key.c#L342github.com/openssh/openssh-portable/blob/master/ssh.c#L2091を
アレクサンダーバード

12
「バグレポート」は文字通り「バグレポート」を意味する場合があります。すべてのopensshユーザーがCプログラマーであるとは限りません。
悲しみ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.