眾所周知, termux 上的 sshd 不能通過 IP 連接, 只能使用密鑰, 對於使用 PuTTY 的 Windows 用戶, 怎么辦呢?
由於 PuTTY 支持 telnet, 而 termux 也預裝了 telnetd, 只需要輸入 telnetd 即可在 8023 端口開啟服務, 但是這不安全, 因為不需要任何認證.
於是我想到在 ~/.bashrc 中加入驗證:

當然, 這也不是長久之計, 畢竟^c是會中斷該程序的.

還得想辦法使用 sshd 啊! 經過我的艱苦探索, 終於勉強成功了!
(
當然, 后面知道了防止中斷的方法, 在腳本行首寫:
trap "echo \""
請輸入密碼! \"" INT QUIT TSTP
在接收到信號后,可以采取的操作包括:
- 清除文件
- 提示用戶是否應當終止腳本
- 忽略該信號
- 進行處理
捕捉信號
要捕捉發送到您的進程的信號,請使用內置的 trap 命令。在捕捉到信號后,正在執行的當前命令會嘗試在 trap 接管之前結束執行。如果該命令為 SIGKILL,那么終止將立即執行。如果忽略某些信號,將執行默認操作。例如,如果只對 SIGINT 執行 trap 命令,但是對 SIGQUIT 不執行任何操作,然后您的進程捕捉到了 SIGQUIT 信號,那么將執行默認操作(很可能是終止您的腳本,而這正是您不希望看到的)。
trap 命令的格式為:
|
1
|
trap 'command_list' signals
|
其中,command_list 是一個命令清單,可以包含一個函數,在接收到信號列表中包含的某個信號后運行。而 signals 是將要捕捉的信號的列表。
要忽略某個信號,使用兩個單引號代替 command_list:
|
1
|
trap '' signals
|
要重置 trap,使用:
|
1
|
trap - signals
|
其中,signals 為信號列表。
)
首先使用 PuTTYGen.exe 生成 RSA 密鑰, 並將 Private Key 保存.


復制框中的 RSA 公鑰, 打開 termux, 添加到 ~/.ssh/authorized_keys

接下來, 使用默認端口 8022 連接 termux, 當然, 你需要使用到剛才保存的私鑰.

登錄(無需用戶名):

