Termux和Ubuntu建立ssh連接


1 本機環境

  • Android:Termux v0.77 作為客戶端
  • Linux:Ubuntu 19.10 作為服務器
  • 兩者處於同一局域網下

2 ssh安裝

2.1 Termux

pkg install openssh

注:若提示無法定位軟件包,重裝軟件或許能夠解決(本人就是)!

2.2 Ubuntu

sudo apt install openssh-client openssh-server

3 普通連接

3.1 Termux 作為 client,Ubuntu 作為 server

1. Ubuntu 中執行下述代碼打開服務器端口:

sudo /etc/init.d/ssh start

2. Ubuntu 中執行 ifconfig ,記下服務器 ip 地址(如下圖 inet 位置的 10.99.22.172): 

3. Termux 中執行下述代碼后輸入 user_name 的登錄密碼即可完成連接:

ssh user_name@ip_address

其中,user_name 為 Ubuntu 下的用戶名,ip_address 為 Ubuntu 的 ip 地址。

3.2 Ubuntu 作為 client,Termux 作為 server

1. Termux 中執行下述代碼打開服務器端口:

sshd

2. Termux 中執行 ifconfig ,記下服務器 ip 地址(和 3.1 中類似),然后執行 whoami ,記下用戶名: 

3. Ubuntu 中執行下述代碼后輸入 user_name 的登錄密碼即可完成連接:

ssh user_name@ip_address -p 8022

其中,user_name 為 Termux 下的用戶名,ip_address 為 Termux 的 ip 地址。

4 免密和免 ip 登錄

有沒有覺得每次登錄都要輸入密碼和 ip 地址很麻煩?幸好 ssh 提供了免密和免 ip 登錄的方法!

4.1 Termux 作為 client,Ubuntu 作為 server

1. Termux 中執行下述代碼在 ~/.ssh/ 中生成公私密鑰:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
參數說明:
-t 加密算法類型,這里是使用rsa算法
-P 指定私鑰的密碼,不需要可以不指定
-f 指定生成秘鑰對保持的位置

2. Termux 中執行下述代碼將公鑰發給 Ubuntu,之后執行 ssh user_name@ip_address 后不需要輸入密碼: 

ssh-copy-id user_name@ip_address

3. Termux 中新建或打開 ~/.ssh/config 文件,添加以下內容:

Host server_name                 # SSH鏈接的服務器別名(自己任意取即可) 
HostName server_ip            # Linux 的 ip 地址
Port 22                  # 默認即可
User user_name               # 服務器端用戶名
PreferredAuthentications publickey  # 默認即可
IdentityFile ~/.ssh/id_rsa       # 第一步生成的私鑰地址,默認為 ~/.ssh/id_rsa

4. 執行 ssh server_name 后即可完成連接!


免責聲明!

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



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