debian ssh 連接android 通過termux

wangyilian 8年前發布 | 29K 次閱讀 SSH Android Debian Android開發 移動開發

來自: http://www.findspace.name/easycoding/1652

Introducation

termux是個非常強大的終端模擬器。

官方網站

酷安網下載地址 </div>

高級終端Termux組合了強大的終端模擬和拓展Linux包收集支持。

  • 享受bash 和 zsh。
  • 使用nano 和 vim編輯文件。
  • 通過ssh訪問服務器。
  • 使用gcc和clang編譯代碼。
  • 使用python控制臺來作為口袋計算器。
  • 使用git 和 subversion檢查項目。
  • 使用frotz運行基于文本的游戲。

使用openssh從桌面連接安卓

由于termux甚至支持apt命令,所以從他建立。

官方英文ssh連接說明 比較簡陋,這里詳細描述一下。

安裝termux

安裝完成后,第一次打開會需要下載一些包庫。下載安裝包庫完成進入后,先跟普通的debian一樣,注意是apt,手機上執行:

apt update

再安裝openssh

apt install openssh

會自動生成keygen。并給出路徑地址。

設置keygen

生成key

在電腦上運行

ssh-keygen -t rsa

交互式地生成一個key,默認保存在 ~/.ssh/ 下,兩個文件 id_rsa 和 id_rsa.pub ,pub是公鑰,另一個是私鑰。ssh登錄的原理不再贅述,自行谷歌。

連接adb

通過各種方式(直接usb或者通過網絡adb)adb連接到手機上,將公鑰adb push到手機上

adb push ~/.ssh/id_rsa.pub /data/data/com.termux/files/home/.ssh/id_rsa.pub

設置授權key

通過 adb shell 進入手機,cd到 data/data/com.termux/files/home/.ssh/ ,將公鑰內容添加到ssh的授權文件里

cat ./id_rsa.pub >> authorized_keys

注意權限問題

在手機上執行

whoami

得到用戶名,比如得到的是 u0_a97 。

要求 .ssh 文件夾的權限是700(即 rwx------ ),且用戶都是termux的用戶才可以。

在電腦上執行:

在 home 文件夾下執行 ll -a ,輸出類似:

</div>

[email protected]

:/data/data/com.termux/files/home # ll -a -rw------- u0_a97 u0_a97 635 2016-03-06 11:20 .bash_history drwx------ u0_a97 u0_a97 2016-03-06 12:20 .ssh

如果 .ssh 文件夾不是如圖權限,則

chmod 700 .ssh

所屬用戶和組修改:

chown u0_a97:u0_a97 .ssh

同樣查看 authorized_keys 文件權限是否是600(即 rw------- )和其owner即所屬組。不是的話按上述方法修改。

此時我們的授權已經做好了

</div>

ssh連接

在手機上的termux里輸入 sshd 開啟ssh服務器,

在電腦上

ssh [email protected]

-p 8022

ip地址是手機的ip,端口默認是8022,可以通過 sshd -p 9000 來指定ssh服務器的端口。如果普通登錄ssh一樣,第一次連接會問你是否繼續,輸入yes繼續,看到 $ 符,ok,登錄成功。

這里用戶是普通用戶,root用戶如何ssh我還不清楚,但是由于我給小米刷了cm,cm官方wiki里有個說明,然而我沒有配置成功

cm官方wiki說明ssh登錄

修改源

由于是termux自己建的一個模擬用戶,有 home 和 usr 兩個主要的文件,默認系統的文件都在 usr 下,如源等。默認linux的源是 /etc/apt/sources.list ,則此時就變成了 /data/data/com.termux/files/usr/etc/apt/sources.list
清華有termux的源,可將源內容改成如下:

# The main termux repository:
deb [arch=all,arm] http://mirrors.tuna.tsinghua.edu.cn/termux/ stable main

通過 apt update 就可以更新源啦。

手機電腦不處于同一個局域網

手機必然至少連接路由器,在路由器里設置端口轉發即可。

tips

其實也有一些獨立的ssh應用,但是termux不只是包括ssh,這里只是簡單記錄自己使用termux的一些經驗。

</div>

 本文由用戶 wangyilian 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!