首先我们先简单了解一下dropbear:

        dropbear实现安全Shell(SSH)协议版本2,加密算法使用第三方加密库包含在Dropbear分配内部实施。它源于一些地方的OpenSSH来处理BSD风格的伪终端。

       dropbear实现完整的SSH客户端和服务器版本2协议。它不支持SSH版本1 的向后兼容性,以节省空间和资源,并避免在SSH版本1的固有的安全漏洞。

       与OpenSSH相比,dropbear更简洁,更小巧,运行起来占用的内存也更少。每一个普通用户登录,OpenSSH会开两个sshd进程,而dropbear只开一个进程,所以其对硬件要求更低,也更利于系统的运行。因此Dropbear特别用于“嵌入”式的Linux系统。

接下来我们来进行安装编译:

1.下载:

首先通过相关命令查看是否有zlib库:

Linux——dropbear编译安装_系统/运维

如果主机上没有zlib库,yum下载:yum –y install zlib-1.2.3.tar.gz

安装:tar xzvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure编译

make安装即可再下载。

但是如果想要直接安装dropbear也可,只不过在编译时,再下载zlib库即可,方法后续介绍。

直接安装:如果有yum epel源,在源上下载即可。

Linux——dropbear编译安装_系统/运维_02

但是如果想要下载最新版本的dropbear,即可去官网上下载:https://matt.ucc.asn.au/dropbear/dropbear.html

Linux——dropbear编译安装_系统/运维_03

下载到桌面后,使用rz命令导入到虚拟机即可。

3.解压缩:使用tar命令

Linux——dropbear编译安装_系统/运维_04

4、解压缩后转到对应的目录下,进行编译操作,但是我们如何进行编译呢?

这就需要查看一些帮助文档,在解压缩后的dropbear-2018.76目录下,有两个帮助文档:README,INSTALL。

分别使用less命令,进行查看就行,如less INSTALL、less READM,来了解编译安装过程。

Linux——dropbear编译安装_Linux_05

Linux——dropbear编译安装_Linux_06

5. 编译:在目录下执行configure,从README文件中,知道一些选项,如—prefix 是指定安装路径 –sysconfdir 指定配置文件所在路径 

但是指定目录时,要先建立好目录,确保路径正确。

Linux——dropbear编译安装_系统/运维_07

但是会发现如果没有zlib库会报错

Linux——dropbear编译安装_Linux_08

解决办法有两种,第一就是在编译前安装zlib库,过程详看上面,但是往往我们安装编译一些软件包时,也不知道需要哪些库文件,

可以直接进行configure编译,根据报错信息,来下载一些库文件以及一定要安装编译工具,即yum -y groupinstall "Development Tools"。

Linux——dropbear编译安装_系统/运维_09

6、安装:make :通过INSTALL文件

make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"后

make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"  install 即可完成安装。

7.在安装的目录下,使用相关命令,进行远程链接。

首先可查看编译生成了哪些命令:(bin:客户端 sbin :服务端)

Linux——dropbear编译安装_系统/运维_10

Linux——dropbear编译安装_系统/运维_11

接下来便可使用相关命令进行主机链接:

由于SSH默认端口是22,但是为了区分开dropbear,选择使用别的端口

Linux——dropbear编译安装_Linux_12

但是命令运行结果是失败的,这是为什么呢?

分析结果,首先这是sbin下的命令,即是服务端,那么跟防火墙或selinux的状态无关。

结合所学知识及查看帮助文档后了解到,这是没有生成dropbear密钥所导致的问题。

Linux——dropbear编译安装_系统/运维_13

通过README文档,使用dropbearkey在生成密钥:(由于之前查看过/app/dropbear下相关目录,对比README的内容,确定命令)

Linux——dropbear编译安装_系统/运维_14

但是需要注意的是,由于dropbear命令不很完善,不会自动创建配置文件目录,所以之前编译的时候,

/etc/dropbear文件需要手动创建,那么相同的,在生成密钥的时候,需要先进入/etc/dropbear下,

再使用dropbearkey生成密钥。否则在当前目录使用,密钥生成在当前目录,依旧不能正常使用。

当然也可以用 mv 命令将密钥移进去。总之,密钥文件必须在编译时指定的sysconfdir目录下。

生成密钥后重新使用dropbear命令,指定端口来进行连接:

Linux——dropbear编译安装_系统/运维_15

在另外主机上连接即可(关闭防火墙):

Linux——dropbear编译安装_Linux_16

以上是dropbear被连接,服务器端。

在bin目录下,有client端命令:

Linux——dropbear编译安装_系统/运维_17

最后还有一个scp命令:

Linux——dropbear编译安装_系统/运维_18

但是会发现scp命令报错。

分析错误:首先不能连接,发现没有/usr/bin/dbclient文件夹,首先考虑是不是全局环境的问题,可能

无法识别dropbear的scp命令。

Linux——dropbear编译安装_系统/运维_19

但是发现改过环境变量还是不可行,去到/usr/bin/下,发现找不到dbclient,那么可能是没有软连接导致找不到配置文件。

Linux——dropbear编译安装_系统/运维_20

这样四个命令都可以运行了。但是scp由于dropbear还是不很完善,不能自动生成软连接,需要手动生成。