openwrt-ssh 跳过密码验证

openwrt 一般采用dropbear 作为ssh 客户端/服务端。 但一般都是使用password 的形式登录ssh. 我们使用public/private key 的形式来跳过需要password的验证。

1. 客户端

使用如下命令,生成public keys

1
dropbearkey  -y -f /etc/dropbear/dropbear_rsa_host_key


将图中pulibc key 复制到服务端。

2. 服务端

dropbear 与openssh 有点区别在于,authorized_keys 文件并不在~/.ssh/authorized_keys 文件中, 而是在/etc/dropbear/authorized_keys

之后重启服务端dropbear service

1
/etc/init.d/dropbear restart

dropbear 的配置如下:

3. 使用

在客服端使用如下命令登陆服务端

1
ssh -i /etc/dropbear/dropbear_rsa_host_key root@172.28.52.151 -p 6350

需要使用 “-i”选项指明identify 文件, “-p 6350” 是指明端口号


当然我们可以不指明-i option 指定文件,直接登录。

作如下步骤:

1
cp /etc/dropbear/dropbear_rsa_host_key ~/.ssh/id_dropbear

使用如下命令直接登陆:

1
ssh 172.28.52.151 -l root -p 6350

0%