この同様の質問 を読んだ後、user
(キーまたはパスワード)へのSSHアクセスを拒否しながら、root
にSSHキーを要求する方法がわかりません。 rootになる必要がある場合は、ユーザーとしてログインした後にSudoを使用します。
SSHキーを要求する方法を知っています。
PermitRootLogin without-password
ユーザー「root」のログインを無効にする方法を知っています:
PermitRootLogin no
ユーザーをホワイトリストに登録する方法を知っています。
AllowUsers user
これをすべてまとめる方法がわかりません(または必要な場合でも-SSHキーで十分かもしれません)。私は通常、試行錯誤を通してこのような答えを解決しますが、私はこのサーバーから自分を締め出すのではないかと心配しています...
パスワードによるログインを許可しない場合は、サーバーのPasswordAuthentication no
にsshd_conf
を設定するだけです。
正確には思い出せませんが、少なくともルートログインはデフォルトではないと思います。
~/.ssh/authorized_keys
に公開鍵を持たないシステム上のユーザーとしてログインしようとすると、パスワードが設定されているかどうか、またはパスワードログインが設定されていない場合はシェルが使用可能かどうかを尋ねられます。無効になりました。
私はあなたが望むのは単純だと思います:
PasswordAuthentication no PermitRootLogin no
これにより、sshキーまたはパスワードを使用したルートログインが許可されなくなり、ユーザーの~/.ssh/authorized_keys
ファイルに公開キーがあるため、有効なキーでログインする必要があります。