SSH ルートログインを制限しながら、いくつかの例外を許可する方法

SSH ルートログインを制限しながら、いくつかの例外を許可する方法

openssh では、root ログインを制限できます (PermitRootLogin no) が、例外はありますか?

答え1

root としてログインするのは得策ではないので、sshd のマニュアルページを参照してください。

ルートログイン許可

root が ssh(1) を使用してログインできるかどうかを指定します。引数は ``yes''、``without-password''、``forced-commands-only''、または ``no'' のいずれかである必要があります。デフォルトは ``yes'' です。

このオプションが「without-password」に設定されている場合、root のパスワード認証は無効になります。

このオプションが「forced-commands-only」に設定されている場合、コマンド オプションが指定されている場合のみ、公開キー認証による root ログインが許可されます (通常は root ログインが許可されていない場合でも、リモート バックアップを取得する場合に役立ちます)。他のすべての認証方法は、root に対して無効になります。

このオプションが「no」に設定されている場合、root はログインできません。

PermitRootLogin without-passwordしたがって、パスワード認証を禁止しながら秘密鍵/公開鍵認証を許可する場合や、PermitRootLogin forced-commands-only対話型アクセスなしで root としてログインできるようにする場合に使用できます。

後者の場合、authorized_keys次のようにファイルを編集して、ログ記録ユーザーに対して有効にするコマンドを指定する必要があります。

command="rdiff-backup --server" ssh-rsa AAAAB3NzaC1y... (rest of key)

あるいは、さらに良い方法として、特定の IP アドレスからのみ強制コマンドのみの root ログインを許可します。

from="10.1.1.1",command="/home/user/command/to/execute" ssh-rsa AAAAB3NzaC1y... (rest of key)

関連情報