编译dropbear


编译zlib

1
2
3
4
5
tar -xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/home/leux/develop/zlib --static
make
make install

编译dropbear

1
2
3
4
5
tar -xjvf dropbear-2017.75.tar.bz2
cd dropbear-2017.75
./configure --prefix=/home/leux/develop/dropbear --with-zlib=/home/leux/develop/zlib
make
make install

静态编译:

1
2
make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 STATIC=1 SCPPROGRESS=1
# MULTI=1:生成单文件 STATIC=1:静态编译

源码目录下的 options.h 中定义了默认端口,默认密钥,默认PID

1
2
3
4
5
#define DROPBEAR_DEFPORT "22"
#define DSS_PRIV_FILENAME "/etc/dropbear/dropbear_dss_host_key"
#define RSA_PRIV_FILENAME "/etc/dropbear/dropbear_rsa_host_key"
#define ECDSA_PRIV_FILENAME "/etc/dropbear/dropbear_ecdsa_host_key"
#define DROPBEAR_PIDFILE "/var/run/dropbear.pid"

dropbear运行所需文件:

  • dropbear_rsa_host_key
  • dropbear_dss_host_key
  • dropbear_ecdsa_host_key

生成所需文件命令:

1
2
3
dropbearmulti dropbearkey -t rsa -f dropbear_rsa_host_key
dropbearmulti dropbearkey -t dss -f dropbear_dss_host_key
dropbearmulti dropbearkey -t ecdsa -f dropbear_ecdsa_host_key

简单使用命令:

1
2
dropbearmulti dropbear
dropbearmulti ssh username@ip -p port

Linux下的免密码登录:

  1. 生成私钥 id_[rsa|dsa] 和公钥 id_[rsa|dsa].pubssh-keygen -t [rsa|dsa]
  2. 复制公钥到所需登录的用户home目录下的.ssh文件夹内(~/.ssh/authorized_keys)
  3. 要保证客户端有 ~/.ssh/id_rsa 服务端有 ~/.ssh/authorized_keys 才能免密登录

Win10下Xshell的免密码登录:

  1. 生成公钥:工具 –> 用户密钥管理 –> 生成到完成 –>
  2. 导出公钥:用户密钥管理 –> 公钥属性 –> 公钥 –> 保存为文件 authorized_keys
  3. 复制导出公钥到所需登录的用户home目录下的.ssh文件夹内(~/.ssh/authorized_keys)