dropbear是一种开源软件,可以替代openssh实现远程连接,下面简单讲述一下这款软件的安装配置步骤
第一步 编译安装
1获取源文件 解压
[[email protected] ~]#tar xf dropbear-2013.58.tar.bz2
2安装
切换目录
[[email protected] ~]# cd dropbear-2013.58
执行脚本
[[email protected] ~]# ./configure
在安装过程中可能会出现安装环境的问题.
例如 :没安装gcc编译器,安装过程中出现下面情况

此时可以用yum安装
[[email protected] dropbear-2013.58]# yum install gcc gcc-c++
仍可能会有麻烦
此时要安装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,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
第三步 后续工作
1 增加dropbear服务
[[email protected] ~]# chkconfig --add dropbear
2 给脚本赋执行权利
[[email protected] ~]# chmod +x /etc/init.d/dropbear
3 查看下效果
修改下配置文件再看一下
转载于:https://blog.51cto.com/baglinux/1374269