2017-04-03

Termux 設定 SSH Server

阿舍在上一篇文已經簡單介紹過 Termux 的安裝,而這一篇,就要來說明如何在 Termux 上設定和啟動 SSH Server 來讓阿舍可以用電腦來 SSH 過去操作,不過,在開始設定之前,要先來說明一下,有關 Termux 上跑 SSH Server 的一個限制,那就是,Termux 只能用憑證來登入,不能用帳號和密碼的方式,本來,阿舍覺得這樣很麻煩,因為,阿舍如果要在好幾支手機上跑 Termux 來用的話,就要一台一台的去產出憑證,不過,後來,阿舍就發現,用憑證反而會比較容易管理哩 ...



如果你在安裝好 Termux 之後,還沒有執行過建立相關資料夾和連接的指令的話,阿舍建議還是先執行一下,這樣,一些 Termux 預設的資料夾才會存在,之後,在安裝和設定時,比較不會出現一些人家沒有你卻有的問題出現哩 ! 有關產生 Termux 資料夾和連結的方式,請參考阿舍寫的這一篇 ...

OK ! 再來,就要開始來進入正題了,而第一步,那當然就是要安裝 OpenSSH 這個套件了,因為,Termux 預設是沒有安裝這個 OpenSSH 的,請執行下面的指令來安裝。

$ apt update
$ apt install openssh

安裝好之後,接下來,就是要產生憑證的公鑰和私鑰來給要用 SSH 連到這支手機的 SSH Client 用,請使用下列指令來產生,中間會問說要存放的位置,這個建議用預設的好,而另一個則是要輸入 Passphrase,也就是這個憑證檔的密碼,阿舍為了方便,所以,就連按了二次 Enter 鍵來表示不使用 Passphrase 哩 ! ... 呵 !

$ ssh-keygen

上面的指令操作順利的話,就會在 .ssh 資料夾裡產出 id_rsa 和 id_rsa.pub 這二個私鑰和公鑰檔案,接下來,就是有點多指令的部份了,請依日照下面的順序來操作,這樣,就會新增一個 authorized_keys 檔,裡面會存有公鑰資料,同時,也會改好檔案和資料夾的權限。

$ touch ~/.ssh/authorized_keys
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh

以上,就算是完成手機的操作部份,再來,就是阿舍覺得有點麻煩的地方了... 就是要把 id_rsa 和 id_rsa.pub 這二個檔弄到阿舍 MacBook 上,因為,阿舍覺得還要拿 USB 線插到電腦有點累,而且,還要先把這二個檔案複製到其它資料,另外 ,MacBook 要啟動 Android 的讀檔軟體等等等 ... 不只有一點點的麻煩哩 .... 所以,阿舍就再想了一下 ...

其實,不用 USB 線的方法還滿多的哩 ! 可以用這個方法或是這個方式,不過,前題都是要在同一個網段,最後,阿舍是用第一種方式,就是在 Termux 上用下面的指令來安裝 Python 後,透過 Web 來把檔案下載到阿舍的 Macbook 上的。

# 這樣安裝的是 Python 3 的版本
$ apt install python

終於把 id_rsa 和 id_rsa.pub 這二個檔案弄到阿舍 MacBook 上的 .ssh 資料夾之後,要先把 id_rsa 的這個檔案的權限調整一下。

$ chmod 600 ~/.ssh/id_rsa

調好之後,就可以來用 ssh 指令連線了,以阿舍要連的手機的 IP 位址是 192.168.1.188 及 id_rsa 檔案是放在 ~/.ssh 資料夾下為例,連線的指令就是下面這樣 ( Termux 上的 SSH Server 預設是使用 8022 埠 )。

$ ssh 192.168.1.188 -p 8022 -i ~/.ssh/id_rsa

如果順利的話,應該就可以用 SSH 來連上手機了,不過,理論上,應該是不會順利連上才對 ... 因為阿舍還沒提到如何啟用 SSH Server 哩 ... 呵呵 ! 請回到手機上的 Termux 畫面,執行下面第一行指令,就可以把 SSH Server 給啟動了,而如果你有遇到問題,想要做測試找原因的話,則是可以用下面第二行的指令來開 Debug 模式,然後,要結束 SSH Server 的話,就要下面第三行的指令哩 ...

# 正常啟動
$ sshd

# 偵錯模式
$ sshd -d

#停止 sshd
$ pkill sshd

好了,現在再用 ssh 指令來連線,就應該可以順利的連上了哩 ....

問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法


關於阿舍

好文不藏私,請多分享囉!! ^^=

3 則留言 :

匿名 提到...

大大好,我看下面這一篇說,如果是A要ssh到B,應該是A產生公鑰和私鑰,然後把A的公鑰放入B內,提供您參考:
SSH 公開金鑰應是哪一方產生? - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 https://ithelp.ithome.com.tw/questions/10188479

匿名 提到...

請不要透過網路傳輸你的私鑰

Video Teraveloka 提到...

Freechip 10.000 Tanpa Deposit Spesial Idul Fitri 2020

"minal aidin wal faizin" mohon maaf lahir dan batin. Untuk mempererat kekeluargaan, S1288poker kembali hadir dengan promo tanpa deposit dengan total bonus Rp 1.000.000,-

Syarat & Ketentuan :

• Bonus New Member Rp 10.000,- (Terdaftar Di Bulan Mei 2020)
• Daftar Gunakan Data Yang Benar Bukan Fiktif
• Hanya Dapat Claim 1X Dari 50X Kesempatan Per Hari
• Berlaku 23 Mei & 24 Mei 2020
• Minimal Withdraw Rp 50.000,-
• Waktu Claim Akan Dimulai Saat Pergantian Tanggal, 00.01 Wib ( Waktu Indonesia Barat)
• Jika Terjadi Kecurangan, Maka Admin Berhak Untuk Tindak Tegas
• Keputusan Admin S1288POKER Bersifat Mutlak

NB : Jika Syarat Belum Terpenuhi, Maka Bonus Tidak Akan Berhasil Di Klaim & Kepada Seluruh Pemain Harap Mengantri Dengan Tertib Serta Sabar Menunggu Agar Proses Pembagian Bonus Lancar. Terima Kasih

(Claim Freechip Disini...)