我的目标是mobile coding,需要在Termux上搭建一個dev環境,以Go環境為例。
1 Termux上安裝ssh服務
- 在搭建和配置階段,如果直接通過Android上的軟鍵盤操作,即便屏再大,那個體驗也是較差的。我們最好通過PC連到termux上去安裝和配置,這就需要我們在Termux上搭建一個sshd server。下面是步驟:
$apt install openssh
$sshd
- 就這麼簡單,一個sshd的server就在termux的背景啟動起來了。由于Termux沒有root權限,無法listen數值小于1024的端口,是以termux上sshd預設的listen端口是8022。
2 導入PC端公鑰到手機端
- 另外termux上的sshd server不支援使用者名+密碼的方式進行登入,隻能用免密登入的方式,即将PC上的
寫入termux上的~/.ssh/id_rsa.pub
檔案中。關于免密登入的證書生成方法和導入方式,網上資料已經汗牛充棟,這裡就不贅述了。~/.ssh/authorized_keys
3 PC端利用ssh登入手機ssh伺服器
- 導入PC端的公鑰至手機中之後,PC就可以通過下面指令登入termux了:
$ssh 10.88.46.79 -p 8022
Welcome to Termux!
Wiki: https://wiki.termux.com
Community forum: https://termux.com/community
IRC channel: #termux on freenode
Gitter chat: https://gitter.im/termux/termux
Mailing list: [email protected]
Search packages: pkg search <query>
Install a package: pkg install <package>
Upgrade packages: pkg upgrade
Learn more: pkg help
- 其中10.88.46.79是手機的wlan0網卡的IP位址,可以在termux中使用ip addr指令獲得:
$ip addr show wlan0
34: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 3000
... ...
inet 10.88.46.79/20 brd 10.88.47.255 scope global wlan0
valid_lft forever preferred_lft forever
... ...