资讯详情

dropbear:一个小巧的ssh server

Dropbear is a relatively small SSH server and client,可运行于类Unix在系统上,官网是 Dropbear,同时在 github 上。 主要关注这里dropbear服务端功能。

安装过程简单

centos 7环境

挑一个版本下载:wget https://matt.ucc.asn.au/dropbear/releases/dropbear-2022.82.tar.bz2 解压 ./configure 若未找到提示zlib,执行yum install zlib-devel安装,或直接禁用zlib:./configure --disable-zlib 只编译服务端,不带PROGRAMS其他工具将额外编译:make -j8 PROGRAMS=dropbear make install dropbear被安装到/usr/local/sbin/,dbclient其他工具将安装/usr/local/bin/ 

启动dropbear服务端

mkdir /etc/dropbear,目录启动时没有报错,会存放在这里hostkey文件 手动生成hostkey或在启动时指定-R选项,必要时自动生成表示hostkey dropbear -p 2020 -R -s选项可禁止密码登录 dropbear同样使用~/.ssh/authorized_keys 然后就可以用了ssh客户端连接 

一些编译选项

若要修改默认编译选项,cp default_options.h localoptions.h,然后通过修改localoptions.h宏来修改  编译时直接禁止密码登录 #define DROPBEAR_SVR_PASSWORD_AUTH 0  默认监听端口 #define DROPBEAR_DEFPORT "22"  默认网络接口,禁掉ipv6 #define DROPBEAR_DEFADDRESS "0.0.0.0"  禁掉MOTD(message of the day) #define DO_MOTD 0 

修改authorized_keys文件

不想用~/.ssh/authorized_keys它可以通过改变代码来实现svr-authpubkey.c中的checkpubkey函数和checkpubkeyperms函数。

一个问题

首次用dropbear -FER启动(忘了是否添加-s选项),用ssh命令连接一次,dropbear自动生成/etc/dropbear/dropbear_ecdsa_host_key。我觉得有效hostkey好吧,所以直接重复使用,所以直接重复使用dropbear无参数启动,ssh命令可以直接连接,但其他命令可以直接连接,Windows下的ssh客户端工具,比如WindTerm,SecureCRT等等,都连不上。 原来hostkey与客户端协商的算法是什么?ssh命令可以优先考虑ecdsa,Windows下的ssh可以优先考虑客户端rsa。 在SecureCRT选项中Host Key项里,把“ecdsa-sha2-nistp移到首位后,256也可以连接。只留下服务端不支持的算法,SecureCRT甚至提示Key exchange failed. No compatible hostkey. The server supports these methods: ecdsa-sha2-nistp256,rsa-sha2-256,ssh-rsa”。 一直使用解决方案-R选项启动dropbear。

关于ssh config

可以在~/.ssh/下创建config例如:

Host game HostName 123.123.123.123 Port 2020 User root IdentityFile /root/id_rsa TCPKeepAlive yes ServerAliveInterval 60 

以后可以直接使用ssh game连接,而不是使用-p指定端口,使用-i指定私钥文件。scp也可以使用。很方便。

另外

在试用dropbear在这个过程中,经常需要重启它。每个新连接dropbear一个新的过程已经开始处理,杀死了父亲的过程。子过程的连接不会中断,但可以使用父亲过程释放的端口。

标签: fer连接电缆meto

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台