ssh
キーのみを許可する(したがってパスワード要求を無効にするように)、サーバーを構成しようとしています。
PuTTY(Windows)を使用して公開鍵と秘密鍵を生成しました。現在、rootとamministratoreという2人のユーザーがいます。私はrootがsshを使ってログインできるようにしたくないので、amministratoreだけを使いたいです。
これまで修正して完了した内容は次のとおりです。
/etc/ssh/sshd_config
- バラより https://pastebin.com/hp0EQ5hGroot@autoapi:~# ls -ld ~/.ssh drwx------ 2 amministratore amministratore 4096 5月5日、16:22 /home/amministratore/.ssh
amministratore@autoapi:~/.ssh$ ls -l 合計4個 -rw-r--r-- 1 amministratore amministratore 398 5月5日、16:08 authenticate_keys
root@autoapi:~/.ssh# ls 認証キー
もちろん途中の文字は削除しました。
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_keys
amministratoreファイルの権限を600に設定する必要があるようです。