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