菜单

openwrt开启秘钥认证登录

发布于 2025年04月13日

1、生成秘钥对

在本地计算机或者linux服务器(非OpenWrt设备)生成密钥对

 ssh-keygen -t rsa -b 4096
  • -t rsa:指定密钥类型为RSA

  • -b 4096:指定密钥长度


/root/op_id_rsa 为生成的私钥。在客户端使用

/root/op_id_rsa.pub 为生成的公钥,放在openwrt设备上。

2、上传公钥到OP设备

1、先下载公钥到本地计算机,再上传到op设备

2、将op_id_rsa.pub放入op设备的/root/.ssh目录下。并重命名为authorized_keys

也可以直接将下载下来的秘钥通过web管理界面上传

ps:似乎只有通过web界面上传公钥才会生效,推荐使用web上传生成的公钥文件。

chmod 600 /root/.ssh/authorized_keys 
#给/root/.ssh 700权限
chmod 700 /root/.ssh

3、配置ssh配置文件

#/etc/config/dropbear文件中主要添加option PubkeyAuth 'on'      # 启用密钥认证 ,待测试秘钥认证可以正常登录以后,关闭密码认证登录
vi /etc/config/dropbear
config dropbear
    option PasswordAuth 'on'   # off关闭密码登录(可选,建议保留以便备用)
    option RootPasswordAuth 'on'
    option PubkeyAuth 'on'      # 启用密钥认证
   

#重启服务
/etc/init.d/dropbear reload
/etc/init.d/dropbear restart

3、下载私钥到本地计算机,测试私钥是否可以正常登录

以下为使用crt工具秘钥认证方式登录路由器

以上连接没有成功,可能是工具问题,改用在本地计算机使用私钥登录

#由于之前我ssh连接过这台路由器,执行以下命令删除与 10.0.0.1 相关的旧密钥:
ssh-keygen -R 10.0.0.1
#测试密钥登录​​
ssh -i C:\Users\admin\Downloads\op_id_rsa root@10.0.0.1

若成功登录,表示配置正确。

#测试登录成功后,在/etc/config/dropbear关闭密码登录
#vi /etc/config/dropbear
option PasswordAuth 'off'   # off关闭密码登录(可选,建议保留以便备用)
option RootPasswordAuth 'off'#关闭root用户密码登录
#重启服务
/etc/init.d/dropbear reload
/etc/init.d/dropbear restart

4、最后再次验证使用密码登录已经无法登陆,配置成功



评论