dropbear是一种开源软件,可以替代openssh实现远程连接,下面简单讲述一下这款软件的安装配置步骤

第一步 编译安装

1获取源文件 解压


[root@localhost ~]#tar xf dropbear-2013.58.tar.bz2

 2安装

切换目录
[root@localhost ~]# cd dropbear-2013.58
执行脚本
[root@localhost ~]# ./configure

   在安装过程中可能会出现安装环境的问题.

   例如 :没安装gcc编译器,安装过程中出现下面情况

dropbear 的安装配置_linux

     此时可以用yum安装

[root@localhost dropbear-2013.58]# yum install gcc gcc-c++

     仍可能会有麻烦

dropbear 的安装配置_linux_02

此时要安装zlib的支包
[root@localhost dropbear-2013.58]#yum -y install zlib-devel

    再执行脚本后就没问题了

 3装载

[root@localhost dropbear-2013.58]# make PROGRAMS="dropbear dbclient dropbearkey scp"
[root@localhost dropbear-2013.58]# make PROGRAMS="dropbear dbclient dropbearkey scp" install


dropbear 的安装配置_linux_03

    可看到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 的安装配置_linux_04

第三步 后续工作

1 增加dropbear服务

[root@localhost ~]# chkconfig --add dropbear

2 给脚本赋执行权利

[root@localhost ~]# chmod +x /etc/init.d/dropbear


3 查看下效果

dropbear 的安装配置_linux_05

修改下配置文件再看一下 dropbear 的安装配置_linux_06