しかし、何かしらのスクリプトの動作上、特定のIPアドレス(ホスト)からのみrootでのアクセスを例外として許可したい。。
という状況を”Match Address”ディレクティブで実現しようというのが、今回の内容です。
※評価は、CentOS 6.8(x86_64)で、sshd_configに以下の設定がされている環境で実施しています
⇒ rootによるアクセスもパスワードによる認証も許可していません
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
実際の設定 2例
sshd_configの最下行にでも追記を行います。1. アクセスもとのIPアドレスが192.168.0.11と192.168.0.12の場合、パスワード認証以外であればrootによるアクセスを許可
※複数のIPアドレスを指定する場合は、カンマで区切ります
Match Address 192.168.0.11, 192.168.0.12
PermitRootLogin without-password
2. アクセスもとのIPアドレスが192.168.0.11の場合、パスワードによる認証を許可
Match Address 192.168.0.11
PermitRootLogin yes
PasswordAuthentication yes