dropbear是一种开源软件,可以替代openssh实现远程连接,下面简单讲述一下这款软件的安装配置步骤
第一步 编译安装
1获取源文件 解压
[root@localhost ~]#tar xf dropbear-2013.58.tar.bz2
2安装
切换目录 [root@localhost ~]# cd dropbear-2013.58 执行脚本 [root@localhost ~]# ./configure
在安装过程中可能会出现安装环境的问题.
例如 :没安装gcc编译器,安装过程中出现下面情况
此时可以用yum安装
[root@localhost dropbear-2013.58]# yum install gcc gcc-c++
仍可能会有麻烦
此时要安装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,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服务
[root@localhost ~]# chkconfig --add dropbear
2 给脚本赋执行权利
[root@localhost ~]# chmod +x /etc/init.d/dropbear
3 查看下效果