比較“安全 shell(SSH)”和“虛擬網絡計算(VNC)” 在這兩(電腦沒聲音)篇文章的第一篇中,David 比較和對照了“安全 shell(SSH)”和“虛擬網絡計算(VNC)”,這兩(電腦沒聲音)種技術允許用戶在一臺工作站上運行位于另一臺計算機上的應用程序。(他沒有涉及文件和打印共享或諸如 httpd、ftpd、smtp 或 nntpd 之類的“因特網”服務,雖然這些技術也可以有效地“共享”上述計算機中的某些資源。)然而,他確實給出了 SSH 和 VNC 的安裝和配置的提示,并評論了工具的穩定性、選項和許可證狀況。
為有效地測試各種軟件程序和撰寫關于它們的文章,我在自己的本地網絡上配備了大量計算機。這些機器運行各種操作系統并使用各種硬件配置。有時我會在各種平http://www.49028c.com臺上評測工具;而有時候會測試和調試自己編寫的工具。
我網絡上的大多數機器都以多重引導配置的方式安裝了多種操作系統,但也有一些是“無頭的”(無監視器或鍵盤)。雖然多重引導裝入器適于容納多種操作系統,但由于只在一臺機器上進行測試,重新引導的時間開銷使得多平http://www.49028c.com臺的詳細比較測試花費了更多時間。多重引導不太利于“并排”比較。我沒有評測過任何讓您在一個系統內“虛擬”另一個系統的工具,譬如 VMWare、Plex86、VirtualPC、SheepShaver 或者其它工具。在某些方面,這些工具實現了我將在本文中討論的那些工具的用途。
有幾種不同的技術允許用戶在一臺工作站上運行位于另一臺計算機上的應用程序。SSH 提供到遠程計算機的文本終端;可以使用“X Window 系統”在一些工作站上顯示交互式應用程序,而這些應用程序實際上運行在另一臺工作站上;VNC 可以作為對于整個遠程桌面的“遠程控制”。每種技術都有優點和缺點。它們都在 Linux 上運行,但不同變體(主機或遠程)允許與其它各種 OS 環境(用于異構網絡)進行交互。使用這些工具的組合,我可以坐在一臺工作站(具有最好的監視器、鍵盤和椅子的那一臺)前,運行、測試并對多個平http://www.49028c.com臺上(通常不用重新引導任何系統)的應用程序進行計時。
我的網絡設置
我的本地網絡上有七個節點,命名為 Apollo、Bacchus、Chaos、Delphi、Echo、Fury 和 Gaia。分別為這些節點分配了從 192.168.1.101 到 192.168.1.107 的 IP 地址。大多數情況下,同一物理機器在多重引導到不同操作系統時總是獲得相同 IP 地址(但有時我使用 DHCP,它分配 192.168.1.200 以上的地址)。整個網絡位于一個硬件防火墻/路由器后,我充分信任防火墻,對于運行在本地機器上的服務,我也許并沒有象應有的那樣過分猜疑。(需要在因特網上共享計算機的讀者應該比我更擔心安全性問題。這兩(電腦沒聲音)篇文章中的第二部分加入一些關于安全性問題的討論。)
我提及了上面的大部分細節,以便您可以遵循我在下面給出的一些 shell 示例。我實際操作的機器是 Bacchus,它的本地 IP 地址是 192.168.1.102。
安全 shell(ssh)
最節省帶寬的連接計算機方法是通過簡單文本 shell。完成這個操作的非安全工具是 telnet 和 rsh,但使用這些工具會引起很多安全性問題,因此最好在所有需要通信的計算機上安裝 ssh。盡管下面的一些示例在我的防火墻之內使用了 telnet,但這種折衷辦法也是以下事實的產物 ― “Fury”目前專用于安裝和重新安裝測試操作系統。缺省情況下,許多類 UNIX 操作系統(包括最新的 Linux 分發版(distribution))將安裝 ssh;如果沒有安裝,請參閱本文后面的參考資料來安裝它。
安全 shell(ssh)對通過特定通道的所有信息流都進行加密。因為使用了公鑰(public-key)加密,所以,服務器和客戶機不必在會話開始(initiation)之前共享密鑰。此外,機密不會在通道中以未加密格式傳輸(譬如,使用 telnet 傳輸登錄密碼則任何攔截器都可以截獲它)。其它協議 ― 例如 VNC 或 X Window ― 可以位于 ssh 頂部,但是這些協議最簡單的用途是用于創建遠程文本控制臺。
使用 ssh,可以輕易地連接到與本地機器運行不同操作系統的機器上。唯一的要求是,遠程機器運行 sshd 服務器,而本地機器要有 ssh 客戶機。例如,要從運行 OS/2 Warp 的“Bacchus”機器連接到隔壁運行 Slackware Linux 的“Delphi”機器,就象下列清單一樣簡單:
使用 ssh 通過 HOSTS 名稱連接到遠程機器
|
如果我的 HOSTS 文件未定義別名,可以使用:
使用 ssh 通過 IP 連接到遠程機器
|
同樣地,我經常通過使用下列命令跨越國界,在全世界管理我租用的 Web 服務器:使用 ssh 通過 DNS 名稱連接到遠程機器
|
對于異構平http://www.49028c.com臺上的 ssh 來說,最困難的事情是正確地獲得終端配置。實際上,這個問題并不是 ssh 本身的問題(telnet 也有同類的問題)。將兩(電腦沒聲音)臺 Linux 機器連接在一起幾乎總是能無縫地工作。但是將安裝其它平http://www.49028c.com臺的機器作為客戶機或服務器時,顯示總是不太正確,或者鍵綁定不象預期的那樣工作。當涉及“非類 UNIX”平http://www.49028c.com臺諸如 Win32、BeOS、MacOS 和 OS/2 時,問題似乎尤其嚴重,但即使將 FreeBSD 與 Linux 連接也有缺點。
新聞熱點
疑難解答