サーバーは認証にキーを要求しません

サーバーは認証にキーを要求しません

sshキーのみを許可する(したがってパスワード要求を無効にするように)、サーバーを構成しようとしています。

PuTTY(Windows)を使用して公開鍵と秘密鍵を生成しました。現在、rootとamministratoreという2人のユーザーがいます。私はrootがsshを使ってログインできるようにしたくないので、amministratoreだけを使いたいです。

これまで修正して完了した内容は次のとおりです。

  1. /etc/ssh/sshd_config- バラより https://pastebin.com/hp0EQ5hG

  2. root@autoapi:~# ls -ld ~/.ssh
     
    drwx------ 2 amministratore amministratore 4096 5月5日、16:22 /home/amministratore/.ssh
  3. amministratore@autoapi:~/.ssh$ ls -l
     
    合計4個
    -rw-r--r-- 1 amministratore amministratore 398 5月5日、16:08 authenticate_keys
  4. root@autoapi:~/.ssh# ls
    認証キー
  5. もちろん途中の文字は削除しました。

    root@autoapi:~/.ssh# catauthorized_keys
    ssh-rsa AAAA.....KKQ== rsa-key-20190504

私は何を忘れましたか?

答え1

SSHを使用して接続すると、クライアントは最初にサーバーが許可できる内容を確認します。つまり、特定のキーが許可されているかどうかを尋ねることです。今後実際にログインしようとします。つまり、特定のキーが許可されていない場合、クライアントはそのキーを使用しようとしません。

あなたの証拠によると、最も可能性の高いシナリオは、ファイルが一般的authorized_keysに読み取れるように設定されており、設定でデフォルト値を指定することです# StrictModes yes。また、これを指定する# PasswordAuthentication yesため、サーバーはキー認証を拒否し、代わりにパスワードを入力するように求められます。この問題を解決するには、2つの点を変更する必要があります。

1 権限の変更authorized_keys:

chmod go-rwx ~/.ssh/authorized_keys

2 パスワード確認の無効化/etc/ssh/sshd_config:

PasswordAuthentication no

答え2

ルートログインを許可しないように設定を正しく設定しました。

authorized_keysamministratoreファイルの権限を600に設定する必要があるようです。

関連情報