sshd_configにおけるAllowUsers

世の中にはいろんな人が居るんだなぁと。
又聞きだが、「sshdが繋がらなくなったので直して欲しい」という依頼が来た。
これだけならよくある話。
よくあるのはTCP wrapperを設定したあとログアウトして接続できないとかファイアウォールの設定をミスって繋がらなくなったとか。

今回はそういう話ではないらしい。
結論から言うとsshd_configにAllowUsersをいっぱい書くと起動できない。
確かにmanを見ても上限はいくつとは書いてない。
私自身はそんなに書いたことがないので、検証してみた。

# grep ^AllowUsers /etc/ssh/sshd_config|uniq -c
16 AllowUsers root root root root root root root root root root root root root root root root
# /etc/rc.d/sshd restart
Stopping sshd.
Starting sshd.
# echo AllowUsers root >>/etc/ssh/sshd_config
# /etc/rc.d/sshd restart
Stopping sshd.
Starting sshd.
/etc/ssh/sshd_config line 142: too many allow users.

正解は servconf.h の このあたり。

#define MAX_ALLOW_USERS 256 /* Max # users on allow list.*/

というわけで明示的に256ユーザまでになっている模様。
あんまりここまでしないと思うけど、AllowUsersを使ってる人は頭の片隅に残しておきましょう。
sshd_configのAllowUsersは検証の後、スタッフがおいしく頂き^H^H^H^H^H^H削除しました。