hostsファイルを編集するシェルスクリプト

/etc/hosts.allow でホスト制限しているとカスペルスキーセキュアコネクションでIPが変わったときにsshdに締め出されるので対策スクリプトを作ってみた。

#!/bin/bash
ipAddress=`/usr/bin/host example.com | awk 'NR==1{print $4}'`
sed -i '/sshd:/d' /etc/hosts.allow
sed -i -e '10i sshd: '$ipAddress /etc/hosts.allow
service sshd restart

クライアントのIPアドレスを/usr/bin/host で取得して変数に格納。hosts.allow の古いIPを含むsshd行を削除、10行目に新しいIPとして追加。このスクリプトをcronファイルとして保存。

00 * * * * /root/scriptname

実行権限を与えてcronに登録します。これでうまく行くはず?

#chmod o+x scriptname
# crontab filename

注)コンソールログオンできないレンタルサーバでの障害発生や正常動作は保証しません。

参考URL:

https://blog.tnmt.info/2011/11/30/hosts-allow-include/
http://blog.glidenote.com/blog/2011/12/28/dyndns-iptables-hosts.allow/