2012-01-13

Android 手機用 SSH + 金鑰 (Key) 登入遠端主機

阿舍有租一個 Linode 的 VPS,然後,很久以前就想要用手機來連到這個 VPS 來弄東西,之前,阿舍有試過用 ConnectBot 來連,但是沒有成功,以為 ConnectBot 沒有支援使用金鑰登入的方式,所以,就作罷了,直到最近,阿舍想在阿舍的不可思議機上來練習一下 node.js ,可是,苦無 node.js for Android 的版本可用,於是,聽明的阿舍就想到,用手機連到 VPS 來寫不就好了嗎 ? 呵 ! 阿舍真是 Ice Snow Smart 哩 ! ^^=

圖片來源 : ConnectBot

就這樣,阿舍就去問了 Google 先生,然後,就找到了這一篇很詳細的說明,原來,ConnectBot  是有支援用金鑰來登入的哩 ! 是阿舍跟 ConnectBot 不熟,才會不能用的,阿舍試了一下,真的是可以哩 ! 不過,阿舍設定的過程,沒有像那篇文一樣的順,因為阿舍已經把 VPS 的帳號和密碼認證方式給停用掉了,所以,就不能用先登入再上傳金鑰的方法,要自己手動貼才行,詳細作法稍後會說明,以下就是設定方式。

1.安裝 ConnectBot
首先,請到這裡來安裝 ConnectBot,或是直接在手機的 Android Market 搜尋「ConnectBot」來安裝。

2.建立金鑰
接下來,請在手機上啟動 ConnectBot,然後,出現 ConnectBot 畫面的時候,請按手機的選單按鈕,就是那個有三條棋線的按鈕,接著,就會出現選單,請用手點選在選單右上角的「管理公鑰」的選項,再來,會出現一個沒有東西的畫面,請再用手點下手機的選單按鈕,就會出現「產生」和「導入」的選項,請點選「產生」,然後,就會出現有下面這些項目的設定畫面。

- 暱稱
請在輸入一個識別用的名稱,以阿舍為例,阿舍就輸入「ayu-incb」

- 轉發類型
這個是來設定加密的演算法,一般預設都是用 RSA 的,所以,採用預設的「RSA」就可以了,除非你的遠端機器是用別種演算法才需要變更的。

- 位數
這個是設定加密的複雜度,預設的 1024 就夠了,不用再調整了,除非你的遠端機器沒有支援到 1024 的長度才會需要調整的。

- 密碼
如果想要幫金鑰設定密碼的話,就需要在這裡輸入密碼,有設定密碼就會在用到金鑰時,要先打密碼才能用的,是多一層保護,但是不是必需的。

- 在啟動的時候載入金鑰
阿舍是有打勾,可以省一個動作。

- 使用確認
有勾選這個項目的話,在建立遠端連線的時候,會再問一次是否連線哩 ! 應該是可以不用勾的。

上面的項目都輸入好之後,就可以按最下方的「產生」按鈕,然後,會出現一個有藍色方框的畫面,請在這個方框內亂畫,儘量不規則一點,畫到中間的百分比到達 100% 之後就會結束的並產生出金鑰出來。

3.複製金鑰
金鑰產生完成後,會回到金鑰的管理畫面,這個時候,在這個畫面上,就有一個金鑰,名稱就是剛剛在「暱稱」項目輸入的名稱,請用手點著它,點久一點,這樣才會出現一個選單,請在點選這個選單上的「複製公鑰」的項目。

4.上傳金鑰
阿舍在前面有提過了,阿舍是沒辦法先登入再上傳金鑰的,所以,阿舍是先把複製下來的金鑰貼到手機上的 GMail 帳號並存成草稿,接著,再用一台已經可以連到 VPS 的電腦來連,然後,打開要連線的那個帳號的家目錄下的 .ssh/authorized_keys 檔案,把剛剛貼到 GMail 的金鑰複製出來並貼到 authorized_keys 檔案後儲檔。
如果你是可以直接登入的話,就可以先登入後再來把金鑰放到 authorized_keys 檔案,不用像阿舍這麼的麻煩,另外,如果之前沒有設定過 authorized_keys 檔的話,請先參考阿舍寫的這一篇文來設定一下,不然,會有問題的。

5.調整連線設定
加好金鑰之後,阿舍就很高興的在 ConnectBot 的畫面上,選擇「SSH」協定並且打入阿舍的 VPS 的帳號來登入,結果,就還是出現阿舍之前遇到的錯誤,說是不支援帳號和密碼的認證的方式,阿舍就整個人差點沒力掉哩 ! 不過,阿舍冷靜的想了一下,阿舍參考的那篇文看起來是可以這樣做的哩 ! 應該是那裡沒有設定到吧 !

於是,阿舍就點了阿舍的連線帳號 (ConnectBot 會列示連線過的帳號 ),接著,就會出現一個選單,阿舍點選它的「編輯主機」選項,就跳出設定畫面,阿舍看了一下,應該是「使用公鑰」這個項目沒有調整哩 ! 阿舍點了一下,就會在跳出的選單的最下方出現阿舍剛剛新增的金鑰的名稱「ayu-incb」,點選它之後,再來開始連線,就會出現要輸入金鑰的密碼的 (如果有勾「使用確認」的話,這個時候會先出現是否連線的訊息),輸入金鑰密碼後,就登入成功哩 ! 好感動啊 !

阿舍在成功用金鑰連線並登入後,還遇到一問題,就是軟體鍵盤一直不會出現,後來,阿舍試著把阿舍用的「倉頡鍵盤」換回內建的鍵盤後,就正常了,如果你也有遇到沒鍵盤可用的問題的話,可以試看看調回預設的鍵盤看看囉 !


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

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



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !