sshdで接続させるIPプロトコルを指定する方法です。
設定方法
「/etc/ssh/sshd_config」の「AddressFamily」部分を変更することで、接続させるIPプロトコル指定を行うことができます。
設定書式
AddressFamily [接続許可プロトコル]
接続許可するプロトコル設定は下記3通りとなります。
- any IPv4とIPv6両方接続可能(初期値)
- inet IPv4のみ接続可能
- inet6 IPv6のみ接続可能
設定
設定ファイルのバックアップを行ってから作業をしていきます。
# cp - /etc/ssh/sshd_config /etc/ssh/sshd_config_yyyymmdd # vi /etc/ssh/sshd_config
変更箇所
「AddressFamily」の部分を変更します。
変更前
「#」がついているのでコメントとなっていますが、デフォルトの設定は「any」となっていて、「IPv4」「IPv6」両方のプロトコルで接続できる設定となっています。
#AddressFamily any
IPv4のみ接続させる場合
「#」を削除し、「any」の部分を「inet」に変更します。
AddressFamily inet
IPv6のみ接続させる場合
「#」を削除し、「any」の部分を「inet6」に変更します。
AddressFamily inet6
設定反映
sshdサービスの設定を再読み込みすることで、設定を反映させることが出来ます。
ただし、設定を間違ったりするとSSHで接続することが出来なくなりますので、現在接続してるSSHの接続は絶対に切断しないでください。
CentOS7の場合
systemctl reload sshd
CentOS6までの場合
servcie ssh reload
動作確認
設定したIPプロトコルでのみssh接続が出来ることを確認してください。
設定失敗例
「ListenAddress」の設定でIPv4アドレスを設定しているのに、「AddressFamily」で「inet6」とか設定すると、「Address family for hostname not supported」と怒られてsshdサービスの起動が失敗します。
コメント