dropbear 编译安装和简单使用
dropbear官方站点:https://matt.ucc.asn.au/dropbear/dropbear.html
ssh协议的另一个实现:dropbear <轻量级>
dropbear源码编译安装
(1)首先获取源码
(2)解压缩
(3)查看README文件
作为ssh协议的实现,客户端主机要远程连接ssh服务端时,首先要从ssh服务器
端下载公钥,ssh首次连接如下图所示:
- 因此编译完成dropbear以后,启动服务前,需要生成秘钥对。
在README中如此提到:
To run the server, you need to generate server keys, this is one-off:
./dropbearkey -t rsa -f dropbear_rsa_host_key
./dropbearkey -t dss -f dropbear_dss_host_key
./dropbearkey -t ecdsa -f dropbear_ecdsa_host_key
用dropbearkey 生成秘钥对,生成秘钥对之后才能启动dropbear服务
- 以centos7 上默认安装的openssh软件为例
]# rpm -qf ssh_host_rsa_key
file /etc/ssh/ssh_host_rsa_key is not owned by any package
发现对应的key文件不属于任何安装包,通过查看.server文件发现:
服务启动时会自动生成对应的秘钥对文件:
vim /usr/lib/systemd/system/sshd.service
.....
After=network.target sshd-keygen.service
...调用了sshd-keygen.service服务
其中sshd-keygen.service 生成了对应的秘钥对
(4)查看INSTALL文件
- make PROGRAMS=“dropbear dbclient dropbearkey dropbearconvert scp”
指明需要编译哪些二进制程序 - make PROGRAMS=“dropbear dbclient dropbearkey dropbearconvert scp” install
选择性的安装软件
(5)查看./configure --help
(6)./configure --pre fix=/app
- 指定安装路径
- 安装前事先需要将环境配置好
(7) make && make install
- 或者上面INSTALL 推荐使用的
dropbear 软件编译之后的使用
承上面安装:
安装的dropbear目录下的文件如下:
/app/
├── bin
│ ├── dbclient
│ ├── dropbearconvert
│ └── dropbearkey
├── sbin
│ └── dropbear
└── share
└── man
├── man1
│ ├── dbclient.1
│ ├── dropbearconvert.1
│ └── dropbearkey.1
└── man8
└── dropbear.8
启用dropbear服务前的配置
- (1)默认未生成配置文件
- (2)生成秘钥对文件
- (3)指定启用端口(默认22端口openssh正在使用)
- (4)选项
由于我安装至/app目录下的:cd /app 先进入此目录
可以选择将/app/bin 和 /app/sbin 写至PATH环境变量 此处写绝对路径
(1) mkdir etc
(2) /app/bin/dropbearkey -t rsa -f etc/dropbear_rsa_host_key
只有一个秘钥对就可以使得dropbear服务运行起来,此处只生成了一个
(3) 启动dropbear服务 <先查看帮助>
-r keyfile
默认该软件寻找keyfile的路径
defaults:
rsa /etc/dropbear/dropbear_rsa_host_key
因此此处需要手动指定keyfile路径
-F:前台执行<调试时使用>
-E:把日志信息在屏幕显示
调试使用时可以加上-FE
-p [address:]port 指定监听端口
(4) 启动服务:
app]# /app/sbin/dropbear -FE -p :2222 -r /app/etc/
\dropbear_rsa_host_key
[15819] Sep 04 20:24:48 Not backgrounding
(5) 测试:使用另一主机连接测试
~]#ssh 192.168.38.17 -p 2222
因为添加-FE选项:因此在主机的连接信息会在屏幕打印。
当服务使用时,可直接将-FE选项去掉,让其在后台运行即可。
在centos7上让dropbear开机自启方式
(1) 仿写.service文件
(2)在/etc/rc.d/rc.local文件中添加启动服务命令
- 给 /etc/rc.d/rc.local文件加上执行权限即可
/app/bin/dbclient 客户端软件
dropbear 的客户端软件,相当于ssh软件
/app/bin/scp (目前为安装scp)
注意:dropbear的scp命令默认会调用/usr/bin/dbclient