ユーザ毎のSSH制限

ユーザ毎に認証方式を変える

/etc/ssh/sshd_config に Match で指定する。
Match は OpenSSH 4.4以降で使用出来る(らしい、4.3は無理だった)。

# vi /etc/ssh/sshd_config
...
Match User erio_nk
PasswordAuthentication no
erio_nkユーザのみパスワード認証をOFFにする。

ユーザ毎にアクセス元IPを制限する

PAMを利用して制限する。

PAMのsshアクセス制限を有効にする。

# vi /etc/pam.d/sshd
account required pam_access.so
...
一番「上」の行に追加する事に注意。

/etc/security/access.confを編集してアクセス制限を設定する。

# vi /etc/security/access.conf
...
+ : ALL : cron crond
- : erio_nk : ALL EXCEPT XXX.XXX.XXX.XXX.
erio_nkユーザは XXX.XXX.XXX.XXX からのみアクセス可能にする。

cronの行が無いとcronの動作に支障が出る様で、以下の様なログが出て正常に処理が実行されない模様(/usr/lib/sa/sa1辺りで出てるっぽい?)。
/var/log/cron

拒否されたパーミッション
CRON (root) ERROR: failed to open PAM security session: 成功です
CRON (root) ERROR: cannot set security context
/var/log/secure
pam_access(crond:account): access denied for user `root' from `cron'