SSHのログインを制限する | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

SSHには元々、rootユーザーのログインを制限する(※)ことが可能ですが、rootユーザー以外でも特定のユーザーのログインを制限する事が可能です。


※ sshd_config内で「PermitRootLogin yes」と設定


設定方法は、sshdの設定ファイルである「sshd_config」を編集します。

下記のように、「AllowUsers」の後に、「ログイン可能」なユーザーを列挙していきます。


AllowUsers itboy

※ 複数ある場合はスペースで区切っていきます。


編集後は、SSHDのプロセスを再起動します。

これで、「AllowUsers」で指定したユーザー以外、ログインする事が出来なくなります。


IPアドレスと組み合わせてもう少し複雑な制限をかけることも出来ます。


AllowUsers itboy@192.168.0.100 


上記の場合、「192.168.0.100」のIPアドレスからの接続で、「itoby」ユーザーであればログインを許可します。

「itboy」ユーザーでも、アクセス元のIPアドレスが「192.168.0.100」でない場合は、ログインできません。


アスタリスク(*)を使う事で、全てのIP又はユーザーと言うように指定することも出来ます。


192.168.0.100のIPからであれば(ユーザーを問わず)ログインを許可する


AllowUsers *@192.168.0.100

192.168.0.XのIPアドレスからであれば、itboyユーザーのログインを許可する


AllowUsers itboy@192.168.0 .*


ログインの制御としては、hosts.allowとhosts.denyを利用した方法が有名ですが、こちらは特定のユーザーのログインを制限する事ができますので、用途によって使い分けてみるのもいいと思います。