/etc/ssh/sshd_config
の特定のsshサーバー構成についていくつか疑問があります。次の行動が欲しい:
PasswordAuthentication no
を設定すると、最初のポイントは満たされますが、2番目のポイントは満たされません。 rootのみにPasswordAuthentication no
を設定する方法はありますか?
これを行うには、PermitRootLogin
ディレクティブを使用します。から sshd_config
マンページ:
Rootがssh(1)を使用してログインできるかどうかを指定します。引数は、「yes」、「without-password」、「forced-commands-only」、または「no」である必要があります。デフォルトは「yes」です。
このオプションを「without-password」に設定すると、rootのパスワード認証が無効になります。
以下はあなたが望むものを達成します:
PasswordAuthentication yes
PermitRootLogin without-password
Match
ブロックを使用して、認証するユーザーまたはグループごと、または接続元のIPアドレスまたはホスト名ごとにいくつかのオプションを構成できます。
PasswordAuthentication yes
PermitRootLogin yes
Match User root
PasswordAuthentication no
私は私のサーバーにroot権限を付与するためのさらに制限的なアプローチをとっています。これは私のような偏執的な人にとって興味深いかもしれません。何をどの順序で行うかに注意してください。そうしないと、rootアクセスを取得できないシステムになってしまう可能性があります。
sugroup
を作成します。whosメンバーはrootになることを許可され、次の行を入力することでこのグループのキー認証のみを許可します最後に sshd_confidの:Match Group sugroup
PasswordAuthentication no
auth required pam_wheel.so group=sugroup
を/etc/pam.d/su
に配置します。それはすでにそこにあるかもしれませんし、コメントを外す必要があります。これにより、sugroupのメンバーではないすべてのユーザーへのrootアクセスが拒否されますPermitRootLogin no
の/etc/ssh/sshd_config
を使用して、ssh経由の直接rootログインを拒否します。この構成を使用する場合、rootになるには鍵認証とパスワードを使用する必要があります。認証方法に関係なく、sshを介した直接のrootアクセスを望まないため、このようにサーバーを構成しました。