mRemoteNG使用外部工具來進行SFTP連線 / Setup mRemoteNS’s Ext. App to Integrate SFTP
本文介紹mRemoteNG的外部工具使用,以FileZilla Portable來建立SFTP外部工具為例,並提供整合多個外部工具的mRemoteNG Portable下載。
This article introduces the external tool (Ext. App) of mRemoteNG. I used FileZilla Portable as example to demonstrate how to create a SFTP Ext. App in mRemoteNG. Finally I shared my mRemoteNG portable with many Ext. App integrated.
網管人員的需求 / Tools of Server Management
作為機房管理人員,時常會使用各種網路連線方式控制伺服器。管理Windows伺服器,一般會使用遠端桌面連線;管理Linux伺服器,那就要用PieTTY來做SSH連線,或是用RealVNC來連到VNC遠端桌面;有網頁界面的伺服器,那就用瀏覽器開啟HTTP或HTTPS網頁。
但是當伺服器一多,要使用的工具複雜起來,而伺服器的連線資訊也散落在各個工具中,使用起來不甚方便。這時候我們就需要一個整合性的管理工具。市面上有些是要收費的,像是Remote Desktop Manager、royalTS (繼承mRemote之後的收費平臺);免費的則有Terminals,以及本文要講的mRemoteNG。
mRemoteNG是什麼? / What’s mRemoteNG
- mRemoteNG官方網站
- mRemoteNG下載 (Box.net備份:mRemoteNG-Portable-1.72.zip)
- 布丁製作:mRemoteNG Portable-1.72 整合外部工具版
mRemoteNG是mRemote的分支版本,它是一個開放原始碼、具頁籤整合、多通訊協定、遠端連線的整合性管理工具。由於mRemote在2012年之後就停止開發了,所以接下來是由mRemoteNG接手繼續發展。
mRemoteNG支援以下幾種通訊協定:
- RDP (Remote Desktop/Terminal Server):Windows伺服器使用
- VNC (Virtual Network Computing):跨平臺遠端桌面
- ICA (Citrix Independent Computing Architecture):可以實作遠端應用程式的通訊協定,現在統一名稱為Citrix XenApp。有興趣可以看我另一篇RemoteApp的閒聊。
- SSH (Secure Shell):Linux伺服器遠端連線用
- Telnet (TELecommunication NETwork):早期Linux伺服器遠端連線用,現在僅剩臺灣的BBS在使用,如ptt。
- HTTP/HTTPS (Hypertext Transfer Protocol):可用於網頁管理界面的伺服器,像是Proxmox VE或Zentyal。
- rlogin:類似Telnet的遠端登入,但使用本機帳號。但現在似乎很少看到有人在用。
- Raw Socket Connections:直接連到伺服器指定連接埠。
儘管mRemoteNG支援了很多通訊協定,但是卻沒有支援最重要也是最好用的遠端檔案管理通訊協定:FTP與SFTP。沒關係,mRemoteNG另一個強大的地方,在於他提供了可以彈性設定的外部工具(Ext. App)。我們可以自定義一些常用的應用程式,例如能連線到FTP或SFTP的FileZilla,將之整合成為mRemoteNG的一部分。
外部工具的運作原理 / What is Ext. App?
mRemoteNG的外部工具是透過Windows的指令列命令來開啟外部工具,然後再把連線位址(Hostname)、連接埠(Port)、使用者名稱(Username)與密碼(Password)等連線設定以參數傳入該工具。
要在mRemoteNG使用外部工具的話,我們需要做幾件事情:
- 確定外部工具的所在路徑。我建議將外部工具放入mRemoteNG資料夾中。
- 在mRemoteNG中設定外部工具。
- 新增連線時,使用外部工具。
以下我以FileZilla來建立SFTP連線使用外部工具為例,介紹如何在mRemoteNG中使用外部工具。
Step 1. 設置外部工具:FileZilla Portable / Setup Ext. App: FileZilla Portable
要使用外部工具之前,要取得外部工具的程式或腳本。比起原始的FileZilla Client,我一向喜歡使用FileZilla Portable。
下載完之後,請在mRemoteNG底下開啟一個新目錄,叫做「External Applications」,然後將FileZilla Portable安裝該目錄。其中[mRemoteNG]是mRemoteNG的安裝目錄:
[mRemoteNG]\External Applications\FileZillaPortable
Step 2. 設定外部工具 / Configure Ext. App
接下來我們要在mRemoteNG裡面設定外部工具。
先打開mRemoteNG,開啟Tools裡面的External Tools。
接著會顯示External Tools的頁籤。如果要新增外部工具,請在這頁內任意地方按滑鼠右鍵,顯示出「New External Tool」。這個設計很容易讓大家迷路,很少人想到是藏在右鍵選單裡面。
然後會多一列可供設定的外部工具,請在下方外部工具屬性(External Tool Properties)輸入以下設定:
- Display Name: SFTP
- Filename: External Applications\FileZillaPortable\App\filezilla\filezilla.exe
- Arguments: sftp://%Username%:%Password%@%Hostname%:%Port%%Userfield%
- Options: 勾選Try to integrate
以下說明各欄位的內容:
檔案名稱 / Filename
檔案名稱(Filename)是指外部工具實際上開啟的程式。在此使用相對路徑,去開啟FileZilla Portable中實際上真的FileZilla Client程式的所在位置。
參數 / Arguments
參數(Arguments)是指要輸入外部工具的連線位址、連接埠、使用者與密碼等資訊。以SFTP來說,我們會須要SFTP伺服器主機的連線位址、連接埠(或是預設22連接埠)、使用者(預設可能是root)與密碼。而在mRemoteNG中,這些參數是以前後%的變數替代。目前我的知道可以使用的參數如下:
- 連線位址:%Hostname%
- 連接埠:%Port%
- 使用者:%Username%
- 密碼:%Password%
- MAC位址(MAC Address):%Macaddress%
- 使用者自訂欄位(User Field):%Userfield%
這些參數會在命令列中輸入到FileZilla,讓FileZilla啟動時自動進行參數的連線。那我們怎麼知道FileZilla可以輸入這些參數呢?剛好FileZilla就有提供命令列的操作方式。以SFTP連線方式來說,我們可以直接在後面加入「 sftp://%Username%:%Password%@%Hostname%:%Port%%Userfield% 」設定,就能夠連到SFTP。同樣的,要連到FTP的話,就是把開頭的通訊協定改成ftp即可。
選項 / Options
選項的部分有兩個。等待離開(Wait for exit)打勾時,外部工具結束會連帶的讓mRemoteNG的頁籤也會跟著關閉,但是在嘗試整合(Try to integrate)打勾時預設啟動;嘗試整合(Try to integrate)是將外部工具塞到mRemoteNG當中,成為頁籤的一部分,建議打勾。
好了,那我們就設定好一個外部工具,叫做SFTP了。接下來就是在新增連線時使用這些外部工具囉。
Step 3. 使用外部工具 / Ext. App Usage
mRemoteNG要連線到任何伺服器主機,都要先新增連線。
在連線(Connections)上按右鍵,選擇「New Connection」。
連線設定中,要在通訊協定(Protocol)的欄位選擇「外部工具」(Ext. App)。附帶一提,mRemoteNG的中文(繁體) (中華民國)翻譯居然翻成「結束. App」,所以我就換回英文界面了。
接下來大部分的欄位都會隱藏,只留下外部工具(External Tool)跟連接埠。External Tool欄位選擇剛剛新增的外部工具SFTP。
接著我們填好其他的伺服器資訊。主要包括:
- Name:連線的名稱
- Hostname/IP:連線位址
- Userame:使用者名稱
- Password:密碼
- Port:連接埠,SFTP預設是22
- User Field:在此定義為遠端主機的預設目錄
然後就能夠在mRemoteNG裡面開啟FileZilla了!這是不是令人感到開心呢?
外部工具的其他應用 / Other Ext. App
看到這邊,你可以知道只要可以使用命令列,你就能夠把任何外部工具整合到mRemoteNG當中。
LazyWinAdmin在「mRemoteNG - External Applications」一文中整理了mRemoteNG可以使用的眾多外部工具。舉例來說:
- nmap網路掃描、主機分析工具:Zenmap GUI
- 瀏覽器:Firefox
- Windows內建工具ping、tracerout
我還想到可以用瀏覽器開啟外部網路的檢查工具,例如APM Cloud Monitor (以前是Just Ping),它可以用其他的伺服器確認網站狀況、Ping、DNS分析跟Traceroute。特別是當你區域網路可以連線之後,別忘了用APM Cloud Monitor來確認是否別人也可以連線。
而我把這些工具整合到mRemoteNG Portable版本中,順便整合進PieTTY,在此提供大家下載:
如果你有其他好用的外部工具,也歡迎在下面留言處跟大家討論、分享喔。(例如TeamViewer如何?)
結語:使用mRemoteNG的心得 / Conclusion: Usage Experience of mRemoteNG
原本一開始覺得mRemoteNG介面不好用,而且連線功能也沒有像是Remote Desktop Manager有著超級多種的連線工具可供使用,讓人覺得mRemoteNG真的是湊合著用的感覺。
可是我在前年寫完「mRemoteNG使用PieTTY與安裝XULrunner」之後,我因為意外發現LazyWinAdmin的教學,很快就搞懂了怎麼使用外部工具。當時甚至妄想使用ownCloud同步工具,同步mRemoteNG Portable,讓每一臺電腦都可以輕鬆地管理大量的伺服器。可惜Portable還是會有路徑上的問題,只好因此作罷。
直到現在,mRemoteNG已經是我最重要的網管工具。大量伺服器的連線資訊、好用的資料夾分類、靈活的外部工具,這些特色構成了mRemoteNG的無限可能性。真心推薦使用Windows的網管都來使用mRemoteNG!
關於mRemoteNG的介紹,也可以看這篇:
回覆刪除節省工具箱 / Jason Tools:[經驗分享]功能強大的集中式主機管理開源軟體
http://jasontools.blogspot.tw/2017/04/mrenoteng-rdp-ssh-ad-http.html
謝謝推薦,您的 blog 處處是寶啊!
刪除