SSH有两种登录方式, 一是口令登录, 即常规的用户名密码登录; 二是公钥登录, 只要在server端配置好client端的公钥, 就可以实现免密登录. 控制端为client端, 远程主机为server端, 下同.
1. 生成公钥
在client端输入命令然后一路回车
ssh-keygen
2. 将公钥上传至server端
运行结束以后,在client端~/.ssh/目录下,会新生成两个文件:id_rsa.pub
和 id_rsa
。前者是你的公钥,后者是你的私钥。这时再输入如下命令,将公钥传送到远程主机host上面:
ssh-copy-id user@host
3.server端公钥配置
server端将用户上传的公钥,保存在用户主目录的 ~/.ssh/authorized_keys
文件中。
公钥就是一段字符串,server端把它追加到了authorized_keys文件的末尾。
4. OpenWrt配置
原本以上配置就ok了,但是OpenWrt的ssh采用的是dropbear,一种轻量级的ssh服务。需要对其进行额外配置:
cp ~/.ssh/authorized_keys /etc/dropbear/
大功告成 ->
SSH参考资料:SSH原理与运用(一):远程登录