DenyHostsのブロックをIPアドレス指定で解除するスクリプト
2024年8月9日
自分用メモです。
タイトルの通りで、DenyHosts で自分の IP アドレスがブロックされちゃった!なんて時に、特定アドレスだけブロックを解除する方法です。
※2012/8/28 ソースの体裁を改善
調べてみると、
DenyHosts FAQ : How can I remove an IP address that DenyHosts blocked?
という事なんですが、いちいちこれをするのは面倒そうなんで調べたらこんなスクリプトを書いている方がおられる…。
Aquarionics » To remove a host that denyhosts has banned
以下、引用。これならペペッと出来そうでお便利。
#/bin/sh REMOVE=$1 /etc/init.d/denyhosts stop cd /var/lib/denyhosts for THISFILE in hosts hosts-restricted hosts-root hosts-valid users-hosts; do mv $THISFILE /tmp/; cat /tmp/$THISFILE | grep -v $REMOVE > $THISFILE; rm /tmp/$THISFILE; done; mv /etc/hosts.deny /tmp/ cat /tmp/hosts.deny | grep -v $REMOVE > /etc/hosts.deny; rm /tmp/hosts.deny /etc/init.d/denyhosts start
denyhosts.conf 内の WORD_DIR の場所によっては書き換えが必要です。
使い方は以下。
# denyhostsremove.sh 解除したいIPアドレス
IP アドレス決め打ちでずっと許可するなら /var/lib/denyhosts/allowed-hosts への追加も要検討でしょう。
しかし、grep –v なんてオプションあるのか…。
検索用キーワード:制限解除, 削除