パスワード認証を無効にするために、puttygen生成キーを使用してログインを設定しようとしました。
puttygenで秘密鍵を保存し、次のように公開部分を.ssh / authorized_keysにコピーしました。
ssh-rsa AAAAB3Nza[...]1qRQ==
これがsshd_configで変更されたものです。
AuthorizedKeysFile .ssh/authorized_keys
UsePAM no
しかし、私のキーでログインしようとするたびに、サーバーはそれを拒否します。
丸太:
error: key_read: type mismatch: encoding error
sshd[735]: error: key_from_blob: can't read key type
sshd[735]: error: key_read: key_from_blob
User root authorized keys /root/.ssh/authorized_keys is not a regular file
stat /root/.ssh/authorized_keys
説明する:
68 3451018 drw------- 2 root wheel 6903510 512 "Jan 28 18:12:08 2016" "Jan 28 17:40:50 2016" "Jan 28 17:46:22 2016" "Jan 28 17:40:42 2016" 32768 8 0 /root/.ssh/.authorized_keys
FreeBSD 9.3の使用
答え1
Ulrich Schwarzが指摘したように、.ssh/authorized_keys
通常のファイルでなければなりません。あなたの場合は、ディレクトリのように見えます。ディレクトリを削除し、キーを含むテキストファイルを作成する必要があります。
答え2
私はputtygenによって生成されたキーがほとんどすべての試みで問題になると思います。理由と方法はわかりませんが、私のLinuxや他の古いUNIXシステムでは生成されたファイル形式を受け入れません。
私の提案は、サーバーに存在する場合は、次のコマンドを使用してキーを生成することです。
ssh-keygen -t rsa
必要に応じてパスワード、ファイル名、場所を入力します。生成された公開鍵は、認証された鍵ファイルの末尾に追加されます。秘密鍵をPCにコピー(ftpまたはscp)します。 puttygenを開き、import keyオプションを使用します。 Putty インターフェイスから新しくインポートされたキーを使用します。
この方法はいつも私にとって効果的でした。