在Asus Merlin固件中使用的ssh服務器爲Dropbear,包括服務器和dbclient/dropbearkey等客戶端工具,其中dropbearkey對應於OpenSSH的ssh-keygen工具,用於產生密鑰。在Merlin固件中既可使用dbclient,也可使用ssh命令,可是沒有ssh-keygen,可使用dropbearkey替代,不過參數有一些區別。html
爲了在後臺批量執行ssh程序,通常須要免輸入密碼進行登陸。通常有兩種方法,即便用密鑰對加入.ssh/authorized_keys進行受權和使用sshpass在命令行自動輸入密碼(參見:Ubuntu上使用sshpass遠程腳本免密安全交互 )。密鑰對方法在使用OpenSSH和Dropbear有所不一樣,下面具體介紹。docker
包括使用ssh-keygen生成密鑰對,上傳公鑰到遠程服務器home/user/.ssh/目錄,添加到authorized_keys文件,使用ssh自動登陸到遠程服務器等步驟,具體操做過程以下:安全
由於在Asus Merlin固件中使用的ssh服務器爲Dropbear,上面的過程可使用Dropbear的相關工具替代。服務器
user@RT-AC86U-xxxx:/tmp/home/root/.ssh# ls -l -a drwx------ 2 zettariv root 80 Mar 26 13:30 . drwx------ 3 zettariv root 80 Mar 26 13:11 .. -rwx------ 1 zettariv root 0 May 5 2018 authorized_keys -rw-rw-rw- 1 zettariv root 357 Mar 27 06:16 known_hosts
這是Dropbear的客戶端軟件,其詳細使用方法以下:ssh
啓動一個ssh任務的命令以下:工具
ssh -K 60 -fNgR 2200:localhost:22 user@server.remote.org
在未設置密鑰以前,須要交互輸入密碼。this
爲了連接到 dropbear 服務器,使用 dbclient 以前, 必須經過dropbearkey建立和使用public 和 private keys。以下:spa
$ dropbearkey -t ecdsa -f .ssh/id_dropbear_ecdsa | grep "^ecdsa" > .ssh/id_dropbear_ecdsa.pub Generating key, this may take a while...
若是使用rsa,以下:.net
dropbearkey -t rsa -f .ssh/id_dropbear_rsa | grep "ssh-rsa" > .ssh/id_dropbear_rsa.pub # 簡化命令,須要自行提取並建立id_dropbear.pub文件 # dropbearkey -t rsa -f ~/.ssh/id_dropbear_rsa -y
顯示公鑰信息:命令行
nano .ssh/id_dropbear_rsa.pub
首先上傳到遠程服務器,以下:
scp .ssh/id_dropbear_rsa.pub supermap@myserver.remote.org:~/.ssh
把公鑰信息複製/粘貼,添加到home/user/.ssh/authorized_keys文件中。
user@openbox01:~/.ssh$ nano authorized_keys
而後,再次執行上面的命令,就再也不提示輸入密碼了。
ssh -y -K 60 -fNgR 2200:localhost:22 user@server.remote.org -i /root/.ssh/id_dropbear_ecdsa
note
下一步,咱們將把這個命令放到啓動目錄中做爲服務執行。參考:
讓程序啓動時運行還能夠採用Docker和Kubernetes來調度執行。
這裏的方法也適用於pc平臺/樹莓派上。
How To Install New Generation Entware, https://hqt.ro/how-to-install-new-generation-entware/
How to Install Debian Stretch - Arm, https://hqt.ro/how-to-install-debian-stretch-arm/
How can I install Docker in a Debian Chroot?, https://unix.stackexchange.com/questions/496860/how-can-i-install-docker-in-a-debian-chroot
Plex Media Server on AsusWRT Arm Routers, https://hqt.ro/plex-media-server-through-debian-arm/
華碩路由器官方固件開機自動運行腳本方法,http://koolshare.cn/thread-105955-1-1.html
如何將內部服務映射到外網能夠訪問, https://my.oschina.net/u/2306127/blog/3025654