termux 開啟 sshd


眾所周知, 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, 當然, 你需要使用到剛才保存的私鑰.

登錄(無需用戶名):

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM