2016年7月13日水曜日

SSH 特定のIPアドレスからrootアクセスを許可するには(Match Address)

通常はrootによるSSHアクセスは認めない。
しかし、何かしらのスクリプトの動作上、特定の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