首先我们先简单了解一下dropbear:
dropbear实现安全Shell(SSH)协议版本2,加密算法使用第三方加密库包含在Dropbear分配内部实施。它源于一些地方的OpenSSH来处理BSD风格的伪终端。
dropbear实现完整的SSH客户端和服务器版本2协议。它不支持SSH版本1 的向后兼容性,以节省空间和资源,并避免在SSH版本1的固有的安全漏洞。
与OpenSSH相比,dropbear更简洁,更小巧,运行起来占用的内存也更少。每一个普通用户登录,OpenSSH会开两个sshd进程,而dropbear只开一个进程,所以其对硬件要求更低,也更利于系统的运行。因此Dropbear特别用于“嵌入”式的Linux系统。
接下来我们来进行安装编译:
1.下载:
首先通过相关命令查看是否有zlib库:
如果主机上没有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源,在源上下载即可。
但是如果想要下载最新版本的dropbear,即可去官网上下载:https://matt.ucc.asn.au/dropbear/dropbear.html
下载到桌面后,使用rz命令导入到虚拟机即可。
3.解压缩:使用tar命令
4、解压缩后转到对应的目录下,进行编译操作,但是我们如何进行编译呢?
这就需要查看一些帮助文档,在解压缩后的dropbear-2018.76目录下,有两个帮助文档:README,INSTALL。
分别使用less命令,进行查看就行,如less INSTALL、less READM,来了解编译安装过程。
5. 编译:在目录下执行configure,从README文件中,知道一些选项,如—prefix 是指定安装路径 –sysconfdir 指定配置文件所在路径
但是指定目录时,要先建立好目录,确保路径正确。
但是会发现如果没有zlib库会报错
解决办法有两种,第一就是在编译前安装zlib库,过程详看上面,但是往往我们安装编译一些软件包时,也不知道需要哪些库文件,
可以直接进行configure编译,根据报错信息,来下载一些库文件以及一定要安装编译工具,即yum -y groupinstall "Development Tools"。
6、安装:make :通过INSTALL文件
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"后
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install 即可完成安装。
7.在安装的目录下,使用相关命令,进行远程链接。
首先可查看编译生成了哪些命令:(bin:客户端 sbin :服务端)
接下来便可使用相关命令进行主机链接:
由于SSH默认端口是22,但是为了区分开dropbear,选择使用别的端口
但是命令运行结果是失败的,这是为什么呢?
分析结果,首先这是sbin下的命令,即是服务端,那么跟防火墙或selinux的状态无关。
结合所学知识及查看帮助文档后了解到,这是没有生成dropbear密钥所导致的问题。
通过README文档,使用dropbearkey在生成密钥:(由于之前查看过/app/dropbear下相关目录,对比README的内容,确定命令)
但是需要注意的是,由于dropbear命令不很完善,不会自动创建配置文件目录,所以之前编译的时候,
/etc/dropbear文件需要手动创建,那么相同的,在生成密钥的时候,需要先进入/etc/dropbear下,
再使用dropbearkey生成密钥。否则在当前目录使用,密钥生成在当前目录,依旧不能正常使用。
当然也可以用 mv 命令将密钥移进去。总之,密钥文件必须在编译时指定的sysconfdir目录下。
生成密钥后重新使用dropbear命令,指定端口来进行连接:
在另外主机上连接即可(关闭防火墙):
以上是dropbear被连接,服务器端。
在bin目录下,有client端命令:
最后还有一个scp命令:
但是会发现scp命令报错。
分析错误:首先不能连接,发现没有/usr/bin/dbclient文件夹,首先考虑是不是全局环境的问题,可能
无法识别dropbear的scp命令。
但是发现改过环境变量还是不可行,去到/usr/bin/下,发现找不到dbclient,那么可能是没有软连接导致找不到配置文件。
这样四个命令都可以运行了。但是scp由于dropbear还是不很完善,不能自动生成软连接,需要手动生成。