天天看點

dropbear 的安裝配置

dropbear是一種開源軟體,可以替代openssh實作遠端連接配接,下面簡單講述一下這款軟體的安裝配置步驟

第一步 編譯安裝

1擷取源檔案 解壓

[[email protected] ~]#tar xf dropbear-2013.58.tar.bz2      

 2安裝

切換目錄
[[email protected] ~]# cd dropbear-2013.58
執行腳本
[[email protected] ~]# ./configure      

   在安裝過程中可能會出現安裝環境的問題.

   例如 :沒安裝gcc編譯器,安裝過程中出現下面情況

dropbear 的安裝配置

     此時可以用yum安裝

[[email protected] dropbear-2013.58]# yum install gcc gcc-c++      

     仍可能會有麻煩

dropbear 的安裝配置
此時要安裝zlib的支包
[[email protected] dropbear-2013.58]#yum -y install zlib-devel      

    再執行腳本後就沒問題了

 3裝載

[[email protected] dropbear-2013.58]# make PROGRAMS="dropbear dbclient dropbearkey scp"
[[email protected] dropbear-2013.58]# make PROGRAMS="dropbear dbclient dropbearkey scp" install      
dropbear 的安裝配置

    可看到dropbear,dbclient,dropbearkey,scp已安裝上

第二步 編輯服務腳本

  #vim /etc/rc.d/ini.d/dropbear    

#!/bin/bash
#描述dropbear
# description: dropbear ssh daemon
#定義啟動關閉次序
# chkconfig: 2345 66 33
#啟動時要指定的密鑰檔案
dsskey=/etc/dropbear/dropbear_dss_host_key
rsakey=/etc/dropbear/dropbear_rsa_host_key
#鎖檔案          
lockfile=/var/lock/subsys/dropbear
#pid檔案
pidfile=/var/run/dropbear.pid   
#程式檔案        
dropbear=/usr/local/sbin/dropbear
#密鑰檔案        
dropbearkey=/usr/local/bin/dropbearkey
#腳本中會調用函數 先判斷函數是否存在
[ -r /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions
[ -r /etc/sysconfig/dropbear ] && . /etc/sysconfig/dropbear
#有預設值則使用預設值 否則用1024
keysize=${keysize:-1024}
#定義監聽端口
port=${port:-22}
# 第一個函數 生成密鑰         
gendsskey() {
# 判斷密鑰檔案所在目錄是否存在 不存在則建立          
[ -d /etc/dropbear ] || mkdir /etc/dropbear
#顯示開始生成密鑰
     echo -n "Starting generate the dss key: "
# 生成密鑰
         $dropbearkey -t dss -f $dsskey &> /dev/null
        RETVAL=$?    #取上面指令傳回值
    if [ $RETVAL -eq 0 ]; then  #如果傳回值為0 即建立成功
        success
        echo
        return 0
    else
        failure
        echo
        return 1 #如果沒執行成功 傳回值1來判定
    fi
}
genrsakey() {
    [ -d /etc/dropbear ] || mkdir /etc/dropbear
    echo -n "Starting generate the rsa key: "
    $dropbearkey -t rsa -s $keysize -f $rsakey &> /dev/null
        RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        success
        echo
        return 0
    else
        failure
        echo
        return 1
    fi
}
#啟動服務
start() {
#判斷密鑰是否存在不存在就生成
    [ -e $dsskey ] || gendsskey
    [ -e $rsakey ] || genrsakey
#用鎖檔案是否存在判定密鑰生成
    if [ -e $lockfile ]; then
    echo -n "dropbear daemon is already running: "
        success
        echo
        exit 0
    fi
    echo -n "Starting dropbear: " #顯示 dropbear啟動
                daemon --pidfile="$pidfile" $dropbear -p $port -d $dsskey -r $rsakey
        RETVAL=$?  #用指令狀态傳回值判斷上面指令是否執行成功
        echo
        if [ $RETVAL -eq 0 ]; then #如果傳回值為0 即執行成功
            touch $lockfile  #建立鎖檔案
        return 0
    else
    rm -f $lockfile $pidfile  #如果沒執行成功 删除鎖檔案和pid檔案
        return 1
    fi
}
stop() {
    if [ ! -e $lockfile ]; then  #如過鎖檔案不存在
    echo -n "dropbear service is stopped: " #顯示dropbear服務停止
        success
        echo
        exit 1
    fi
    echo -n "Stopping dropbear daemon: "
    killproc dropbear  #停止dropbear程序
        RETVAL=$?
        echo
                                                                                                                                                                                                                                                                                                                                                                                                                                 
    if [ $RETVAL -eq 0 ]; then  #如果服務停止
    rm -f $lockfile $pidfile     #删除檔案
        return 0
        else
        return 1
    fi
            }
status() {
    if [ -e $lockfile ]; then
    echo "dropbear is running..."
    else
    echo "dropbear is stopped..."
    fi
}
usage() {
    echo "Usage: dropbear
{start|stop|restart|status|gendsskey|genrsakey}"
}
#  用case語句和位置變量調用函數
case $1 in
start)
    start ;;
stop)
    stop ;;
restart)
stop
start
;;
status)
status
;;
gendsskey)
gendsskey
;;
genrsakey)
genrsakey
;;
*)
usage
;;
esac      
dropbear 的安裝配置

第三步 後續工作

1 增加dropbear服務

[[email protected] ~]# chkconfig --add dropbear      

2 給腳本賦執行權利

[[email protected] ~]# chmod +x /etc/init.d/dropbear      

3 檢視下效果

dropbear 的安裝配置

修改下配置檔案再看一下

dropbear 的安裝配置

轉載于:https://blog.51cto.com/baglinux/1374269