4-Denyhosts SSH防止強制破解及IP地址釋放

腳本功能目的

此腳本主要是為了方便安裝Denyhosts及釋放需要解封的IP地址,一鍵安裝Denyhosts皱坛,腳本默認(rèn)安裝的版本是3.0,在腳本中有定義版本號的變量夫偶,修改為指定的版本即可安裝對應(yīng)的Denyhosts版本。可能低版本不支持徒恋,盡量使用默認(rèn)版本。一鍵釋放IP欢伏,如果誤封IP入挣,如公司的辦公網(wǎng)公網(wǎng)IP被封了,導(dǎo)致公司的網(wǎng)絡(luò)無法連接Linux服務(wù)器硝拧,這就需要解封IP了径筏。當(dāng)然需要在另一個網(wǎng)絡(luò)(手機流量共享wifi)中連接Linux服務(wù)器,執(zhí)行腳本釋放IP障陶。

腳本內(nèi)容及解釋

腳本名稱Denyhostsctl.sh滋恬,名字可自定義。使用腳本時請記得給腳本添加執(zhí)行權(quán)限抱究,如:chmod u+x Denyhostsctl.sh
執(zhí)行腳本前可調(diào)式腳本執(zhí)行過程:sh -x ./Denyhostsctl.sh,顯示腳本執(zhí)行的每一步恢氯,如果執(zhí)行某一步出現(xiàn)錯誤,可精確定位腳本出錯位置鼓寺,然后查看腳本對應(yīng)的腳本內(nèi)容勋拟。

]# cat Denyhostsctl.sh 
#!/bin/bash

# Denyhosts版本
Denyhosts_Version=3.0

# 腳本所在路徑
ScriptsDir=$(dirname $0)

# Denyhosts配置文件
Denyhost_Config="/etc/denyhosts.conf"

# Denyhosts控制腳本
Denyhosts_CTL="/etc/init.d/denyhosts"

# 釋放IP
IP=$2



## 函數(shù)定義

# Denyhosts 安裝
Install(){
# 下載Denyhosts安裝包
if [ ! -f ${ScriptsDir}/denyhosts-${Denyhosts_Version}.tar.gz ];then
    wget https://jaist.dl.sourceforge.net/project/denyhosts/denyhosts/${Denyhosts_Version}/denyhosts-${Denyhosts_Version}.tar.gz --no-check-certificate
fi
# 解壓軟件包,安裝Denyhosts
if [ ! -f ${Denyhost_Config} ];then
    tar -xzf ${ScriptsDir}/denyhosts-${Denyhosts_Version}.tar.gz
    cd ${ScriptsDir}/denyhosts-${Denyhosts_Version}
    /usr/bin/python setup.py install
fi
# 修改配置文件${Denyhost_Config}
if [ -f /var/log/secure ];then
    sed -i 's#SECURE_LOG = /var/log/.*#SECURE_LOG = /var/log/secure#g' ${Denyhost_Config}
elif [ -f /var/log/auth.log ];then
    sed -i 's#SECURE_LOG = /var/log/.*#SECURE_LOG = /var/log/auth.log#g' ${Denyhost_Config}
fi
# 拷貝控制腳本,設(shè)置開機啟動

## 拷貝控制腳本
if [ ! -f ${Denyhosts_CTL} ];then
    cp -a ${ScriptsDir}/denyhosts-${Denyhosts_Version}/daemon-control-dist ${Denyhosts_CTL}
    sed -i 's#sbin/denyhosts#bin/denyhosts.py#g' ${Denyhosts_CTL}
## 設(shè)置開機啟動
    chown root ${Denyhosts_CTL}
    chmod 700 ${Denyhosts_CTL}
    chkconfig denyhosts on
fi

# 重啟Denyhosts
${Denyhosts_CTL} restart

}

# IP封禁解yy除
Release(){
# 刪除/etc/hosts.deny記錄
sed -i /${IP}/d /etc/hosts.deny

# 刪除日志/var/log/[secure,auth.log]中的記錄。
if [ -f /var/log/secure ];then
    sed -i /${IP}/d /var/log/secure 
elif [ -f /var/log/auth.log ];then
    sed -i /${IP}/d /var/log/auth.log 
fi

# 刪除denyhosts中的記錄
sed -i /${IP}/d /var/lib/denyhosts/*

# 刪除防火墻中的記錄
iptables -D INPUT --source ${IP} -j DROP &> /dev/null

# 重啟Denyhosts
${Denyhosts_CTL} restart
}



# 執(zhí)行腳本
case $1 in
install)
    # 檢查輸入的參數(shù)個數(shù)是否為1侄刽,安裝腳本只需要一個參數(shù)指黎,就是install朋凉。
    if [ $# -eq 1 ];then
        Install
    else
        echo -e "\e[1;33mUsage: \e[0m \e[1;32m$(basename $0)\e[0m [install|release] [IP]"
    fi
    exit;;
release)
    # 釋放IP腳本州丹,需要兩個參數(shù),參數(shù)一:功能參數(shù)杂彭,install-安裝墓毒,release-IP釋放。參數(shù)二:IP-要釋放的IP地址亲怠。判斷是否滿足參數(shù)個數(shù)2
    if [ $# -eq 2 ];then
        # 檢查IP地址格式所计。
        echo $2 |grep '[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}' &> /dev/null
        if [ $? -eq 0 ];then
            Release
        else
            echo -e "\e[1;31m[ERROR]\e[0m \e[1;32mIP地址格式錯誤,請輸入正確的IP地址\e[0m"
        fi
    else
        echo -e "\e[1;33mUsage: \e[0m \e[1;32m$(basename $0)\e[0m [install|release] [IP]"
    fi
    exit;;
*)
    # 輸出腳本使用方法
    echo -e "\e[1;33mUsage: \e[0m \e[1;32m$(basename $0)\e[0m [install|release] [IP]"
    exit;;
esac

]#

腳本使用方法

此腳本為一鍵執(zhí)行腳本团秽,執(zhí)行方法簡單主胧。

# 方法一
cd /path/to/scripts/      # 切換到腳本所在目錄
./Denyhostsctl.sh [Install|Release] [IP]    # 執(zhí)行腳本

# 舉例
./Denyhostsctl.sh install   # Denyhosts安裝
./Denyhostsctl.sh release 192.168.0.2   # 釋放IP:192.168.0.2,不再攔截該IP的連接請求习勤。

# 方法二
/path/to/scripts/Denyhostsctl.sh [Install|Release] [IP]    # 絕對路徑執(zhí)行腳本

# 舉例
/usr/local/scripts/Denyhostsctl.sh install  # Denyhosts安裝
/usr/local/scripts/Denyhostsctl.sh release 192.168.0.2  # 釋放IP:192.168.0.2踪栋,不再攔截該IP的連接請求。

# 查看腳本用法
./Denyhostsctl.sh           # 不加任何參數(shù)图毕,則會輸出腳本用法信息
Usage:  Denyhostsctl.sh [install|release] [IP]
## install|release  第一個參數(shù)夷都,功能參數(shù),安裝或者釋放
## IP    要釋放的IP地址        

查看腳本執(zhí)行方法

查看腳本幫助

調(diào)試腳本-install
調(diào)試腳本-install

調(diào)試腳本-release
調(diào)試腳本-release

腳本是死的予颤,人是活的囤官,可以根據(jù)自己的想法修改腳本冬阳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市党饮,隨后出現(xiàn)的幾起案子肝陪,更是在濱河造成了極大的恐慌,老刑警劉巖刑顺,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件见坑,死亡現(xiàn)場離奇詭異,居然都是意外死亡捏检,警方通過查閱死者的電腦和手機荞驴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贯城,“玉大人熊楼,你說我怎么就攤上這事∧芊福” “怎么了鲫骗?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踩晶。 經(jīng)常有香客問我执泰,道長,這世上最難降的妖魔是什么渡蜻? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任术吝,我火速辦了婚禮,結(jié)果婚禮上茸苇,老公的妹妹穿的比我還像新娘排苍。我一直安慰自己,他們只是感情好学密,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布淘衙。 她就那樣靜靜地躺著,像睡著了一般腻暮。 火紅的嫁衣襯著肌膚如雪彤守。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天哭靖,我揣著相機與錄音具垫,去河邊找鬼。 笑死款青,一個胖子當(dāng)著我的面吹牛做修,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼饰及,長吁一口氣:“原來是場噩夢啊……” “哼蔗坯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起燎含,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤宾濒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后屏箍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绘梦,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年赴魁,在試婚紗的時候發(fā)現(xiàn)自己被綠了卸奉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡颖御,死狀恐怖榄棵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情潘拱,我是刑警寧澤疹鳄,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站芦岂,受9級特大地震影響瘪弓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜禽最,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一腺怯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弛随,春花似錦瓢喉、人聲如沸宁赤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽决左。三九已至愕够,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間佛猛,已是汗流浹背惑芭。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留继找,地道東北人遂跟。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親幻锁。 傳聞我的和親對象是個殘疾皇子凯亮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容