PubkeyAuthentication
-only問題のトラブルシューティングをしています。冗長モードを使用すると、たくさんの「key_load_public:そのようなファイルやディレクトリはありません」が表示されます。
明らかに、キーはファイルシステム上に存在するので、messageは慣習的な意味を持つようには見えません。
$ 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
拡張子を追加しても効果はありません。 manページでは、公開鍵と非公開鍵のどちらを指定する必要があるかについてあいまいなので、*.pub
の有無にかかわらず試してみました。 (公開鍵は身元証明に必要なものすべて、秘密鍵はチャレンジ/レスポンスにおける鍵の所有権を証明するために必要です):
IdentityFile
Specifies a file from which the user's DSA, ECDSA or DSA authen-
tication identity is read...
$ ssh -v -p 1522 [email protected]
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
...
それは文字通りそれが言うことを意味します:sshがアクセスしたがっていたそのようなファイルまたはディレクトリがありません。
しかし、それは上ではなく、下記のファイルについて話しています。通常の公開鍵だけを持っていますが、それらのためのSSH証明書を持っていません(おそらくあなたがそれらを必要としていないためです)。しかしOpenSSHは常に各識別キーに対して関連する.pub-cert
ファイルをロードしようとします。
Ssh-keygen(1)マニュアルは、OpenSSH認証局の作成と証明書への署名について話しています。興味があるならば。 (注:これはX.509を使用せず、OpenSSH独自の証明書フォーマットのみを使用します。)
通常、証明書は、大量のユーザー(および/またはサーバー)がいるがKerberosを使用したくない場合にのみ役立ちます。