在Asus Merlin固件中使用的ssh服务器为Dropbear,包括服务器和dbclient/dropbearkey等客户端工具,其中dropbearkey对应于OpenSSH的ssh-keygen工具,用于产生密钥。在Merlin固件中既可以使用dbclient,也可以使用ssh命令,但是没有ssh-keygen,可以使用dropbearkey替代,不过参数有一些区别。
为了在后台批量执行ssh程序,一般需要免输入密码进行登录。一般有两种方法,即使用密钥对加入.ssh/authorized_keys进行授权和使用sshpass在命令行自动输入密码(参见:Ubuntu上使用sshpass远程脚本免密安全交互 )。密钥对方法在使用OpenSSH和Dropbear有所不同,下面具体介绍。
OpenSSH
包括使用ssh-keygen生成密钥对,上传公钥到远程服务器home/user/.ssh/目录,添加到authorized_keys文件,使用ssh自动登录到远程服务器等步骤,具体操作过程如下: