寫這篇的動機是因為我在 MS Windows 環境下常用 PSPad 來作為文字編輯器,可惜的是他只支援透過 FTP 編輯遠端檔案而不是 SFTP。FTP 是一個使用「明碼」來傳送資料的古老通訊協定。所謂明碼就是你輸入 'A' 他就送出 'A',不會作任何加工,包括你在傳送帳號密碼的時候也是一樣。所以只要有第三者在旁邊竊聽封包,很快就可以得到使用者的帳號及密碼。SFTP 也是提供同樣的檔案傳輸功能,不同的是傳輸時會加密資料。這樣你的帳號與密碼就不會被第三者竊聽到,可以保障帳號與主機的安全。

這裡提供幾種透過 ssh 編輯 Linux 文字檔案的方法:

1. 文字模式編輯器


Windows 的使用者用 PuTTY (或 PieTTY) 或其他 ssh client 連線到遠端主機,Linux 的使用者請使用 ssh 指令連線到遠端主機,然後使用文字模式的編輯器,例如真強者們使用的 vi/vim, emacs, 我個人使用 joe。這種方式適合熟悉命令列的人使用,只要編輯器名稱加上檔案名稱即可。

VIM:

$ vim test.htm


joe:

$ joe test.htm


2. 使用 MS Windows 環境下的文字編輯器透過 WinSCP 編輯

如果你本身在 MS Windows 就有習慣使用的文字編輯器,例如 PSPad, Notepad++, Notepad2, UltraEdit,要如何透過 ssh 來編輯遠端伺服器的檔案呢?可以使用 WinSCP 的程式,然後將預設編輯器設定成你喜歡的編輯器就好了。當然最好的方法還是去叫程式作者支援 sftp 啦!

接下來以 PSPad 為例,

點 Options -> Preferences 開啟偏好設定 -> 左邊那欄選擇 Editors -> 點 Add
如下圖:


點 External editor(外部編輯器) -> Browse 選擇你使用的文字編輯器,本例為「C:\Program Files\PSPad editor\PSPad.exe」-> 打勾 "External editor opens multiple files in one window" (外部編輯器在一個視窗中開啟多個檔案)
如下圖:


將「PSPad」項目移到第一順位,先選擇 PSPad 項目,然後一直按 Up。
如下圖:


這樣你只要快速點選視窗中的檔案,就會用 PSPad 開啟並且透過 SSH 即時編輯文件。其他的編輯器也可以如法炮製。

3. 呼叫遠端 Linux 的視窗編輯器

這 一個方法應該比較少人用。如果遠端電腦是使用視窗介面,而且你有慣用的視窗文字編輯器如 gedit,就可以使用這個方法。如果是 Linux-Linux 可以試試看,因為這比 vnc 快多了。你可以讓原本應該顯示在遠端電腦的應用程式,讓他顯示在你本地端電腦的畫面上,用起來就像你在使用本機的程式。(用這種方式來編輯遠端文件,感覺 有點殺雞用牛刀:p)
原理是 X Window (Linux 使用的視窗系統)執行程式的那一端(Client)和顯示圖形介面的那一端(Server)是可以在不同機器上執行的。所以你只要在你的機器上安裝 X Window Server 就可以讓程式畫面顯示在你本地端的電腦,看作一個程式,進而達到這樣的效果。

在 MS Windows 上,有一套免費的 X Window Server 就是 XMing
安裝時要安裝兩個套件
在用 ssh 登入以後,就跟方法 1 的方式一樣,輸入 「gedit 檔名」就可以摟。

$ gedit test.htm



不 過在測試的時候並不能用新注音輸入中文。首先對方的電腦要先灌好中文輸入法,例如新酷音,然後在視窗上面按右鍵,選擇 SCIM,出現 SCIM 面板,接著再選擇「新酷音」就可以輸入中文了。我現在抓的新版的 Xming 也支援剪貼簿貼上了,上面那句中文就是用剪貼簿貼上的。

Linux 的使用者不用這麼麻煩,你只要在用 ssh 連線過去時加入 -X 參數即可。

$ ssh -X 使用者名稱@主機名稱
arrow
arrow
    全站熱搜

    alex0126 發表在 痞客邦 留言(1) 人氣()