それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

sshサーバーに ユーザー名&IPアドレスで制限を掛ける

ユーザーのssh のアクセス制限をIPアドレスで掛けたい。

IPアドレスからのパスワード・アクセスを許可したり、ユーザーごとに許可したりは、Match条件できる。

Match User apache
    PasswordAuthentication yes
Match Address 192.168.10.*
    PasswordAuthentication yes

上記のようにしたらできる。

特定のIPからの指定のユーザーだけを許可するのはどうするのか

結論から言うと、こう書くといい。

AllowUsers apache@172.10.0.0/16

この例だと、指定したIPからのみ、ユーザー名Apacheがログインできる。よく使いそうなユーザー名 www-data や apache などは /sbin/nologin で守ることもできるけど、どうしても使いたいなってときだけに、このようにすることで特定ユーザーの制限されたIPからのみに限定できる。

And条件などが使えないので、具体的には、このように書くしかないんですね。

大胆に、指定IPだけ、SSHを許可する

iptables でやれって話なんですが。うまく使えば、指定IPからだけのSSH接続を許可するっていう使い方ができる。

AllowUsers *@172.10.0.0/16

逆に、拒否するときとか

DenyUsers *@172.10.0.0/16

いちおうman には載ってるんだけど、結構悩んだのでメモしておく。