歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

OpenSSH可實現一次性自動管理多台服務器

    Linux系統管理員都清楚“安全外殼”協議是軟件工具包中最便利也是最關鍵的工具之一。本文將向大家介紹一個被稱作OpenSSH的開源SSH是如何工作的,以及它對於Linux系統環境的重要意義。

    SSH可以通過網絡管理外殼或Perl腳本安全快速實現一次性自動管理多台服務器。當然,其他網絡外殼工具例如RSH,出現的時間比SSH更久。但 SSH為了文件在網絡上安全傳輸,加入了強大的加密和數據壓縮功能,大部分流行的SSH甚至還提供了SFTP和SCP功能。在眾多SSH中,最流行的就是由OpenBSD社團主持開發和維護的OpenSSH項目。OpenSSH可以用在目前幾乎所有的操作系統平台上,包括微軟Windows.

    SSH的作用

    SSH通過強大的加密功能保護完整的遠程外殼線程不被黑客和惡意軟件入侵。端到端的保護能力可以從線程開始到結束提供完整的保護,雖然受信主機認證方案以及系統間的預先密鑰交換有助於提高安全性,但是OpenSSH並不需要證書或者預先密鑰交換來確立一個加密的遠程線程。

    另外,SSH可以通過SFTP功能使得類似FTP的文件傳輸線程具有加密能力,同時可以讓用戶的密碼以及用戶名以加密方式傳輸,而非明文方式傳輸。對於限制更多的情況,如單一文件傳輸操作,SCP同樣可以實現安全和方便的傳輸能力,它會通過一個加密的文件拷貝命令實現文件在網絡上的傳輸。

    使用和配置Linux客戶端

    將OpenSSH安裝到主流Linux系統中非常簡單,只需要一個簡單的包管理命令。比如要在Debian GNU/Linux中安裝OpenSSH,只需要以root身份登錄,並在命令行方式輸入apt-get install ssh.同樣,在Fedora Core Linux中,也只需要以root身份登錄,並輸入yum install ssh即可。不過一般情況下,這兩個命令行也不需要,因為Debian和Fedora Core中,已經默認安裝了OpenSSH.對於任何Linux系統,如果你想查看它是否安裝了OpenSSH,只需要簡單地輸入ssh即可。回車後,如果系統已經安裝了OpenSSH,則會返回有關OpenSSH的完整使用信息。

    要使用OpenSSH客戶端通過命令行方式接入運行OpenSSH服務器端的系統,一般只需要輸入ssh host,這裡的host是指目標系統的主機名。如果網絡沒有DNS解析,或者主機名沒有在/etc/hosts文件中列出,那麼則需要直接輸入對方主機的IP地址,比如ssh 192.168.0.1.

    OpenSSH系統范圍的配置文件一般位於/etc/ssh目錄下。OpenSSH客戶端的主要配置文件為/etc/ssh/ssh_config .大部分版本的OpenSSH都在配置文件中帶有詳細的注釋。在一些發行量較大的Linux系統中,比如Debian,你可以通過命令行man ssh_config來獲取更多有關OpenSSH客戶端的配置信息。

    安全方面的一個主要配置項目就是ForwardX11,將這個選項設置為“no”,可以防止OpenSSH客戶端自動向網絡發送X Window System信息,否則就算沒有在SSH鏈接上使用X Windows,有關信息還是有可能被發送。在這個選項中,你可以通過-X命令行參數來指定某個特定的SSH連接可以發送X Window系統信息。etc/ssh/ssh_config文件中的其它配置可以幫助你實現或者加強網絡安全策略,滿足某些特定的安全需求。

    基於Windows的SSH客戶端

    Windows系統下的SSH客戶端相當多,其中某些屬於商業化軟件,其余則是免費軟件或共享軟件,當然也有OpenSSH這樣的開放源代碼軟件。雖然其中有些軟件屬於Unix模擬器外殼的一部分,仍然是命令行方式的客戶端,但是大部分都已經配合Windows系統開發出了圖形界面。在這些帶有圖形界面的免費軟件中,WinSCP支持SCP 和 SFTP,PuTTY支持SSH 外殼。在看過上面有關Linux下OpenSSH客戶端的使用方法後,你會發現帶有圖形界面的WinSCP和PuTTY在配置和使用上都方便易懂了許多。 Windows下的OpenSSH,也被稱作OpenSSH for Windows ,同樣支持端口設定。




    在Linux下使用和配置OpenSSH服務器

    一般情況下,你的Linux系統上可能已經運行了OpenSSH服務器端。在Debian GNU/Linux 系統中,OpenSSH服務器端可以通過以下命令行方式重新啟動: /etc/init.d/ssh restart.將命令行中的“restart” 改為 “start” 或 “stop”,就可以實現啟動和停止OpenSSH服務器了。在Fedora Core Linux系統中,命令方式也是一樣,只不過是將上面的“ssh”改為了“sshd”。

    與OpenSSH客戶端配置文件類似,OpenSSH服務器端的配置文件一般為/etc/ssh/sshd_config,它的格式與 /etc/ssh/ssh_config基本一樣,但是其中的選項是不同的,配置文件的細節可以通過man sshd_config命令查看。一般情況下,應該將UsePrivilegeSeparation和IgnoreRhosts選項設置為“yes”,將 PermitRootLogin和PermitEmptyPassWords設置為“no”。與在OpenSSH客戶端一樣,如果允許在SSH連接上發送 Windows系統信息,將導致輕微的安全風險,因此如果沒有必要,不必激活該選項。同樣,在服務器端也應該將X11Forwarding設置為 “no”。

    對於具備安全意識的Linux用戶,更應該正確設置以上幾個OpenSSH服務器端選項。常見的例外可能包括PermitRootLogin和X11Forwarding配置選項。

    使用OpenSSH

    OpenSSH帶有多項SSH所不具備的功能,例如,其它網絡協議可以在OpenSSH協議中建立“通道”,從而提供增強的安全性,如本文中提到的在SSH連接上使用Window System;ssh-agent等工具可以讓OpenSSH客戶端的管理和使用變得更簡單;另外一些不相關的工具也可以支持SSH通道,例如 Subversion版本控制系統。

    使用網絡上多台計算機的Linux新用戶也許無法馬上體會到SSH的價值,這些新用戶以前大部分都是微軟Windows系統的用戶。在 Windows系統中,有關系統的設置是針對本地用戶進行優化的,因此遠程進行管理並不方便。就算是在服務器管理以及遠程技術支持方面,通過諸如 Windows Remote Desktop以及Terminal Services for Windows等工具所實現的管理功能也是有限的,而且通過網絡訪問Windows資源總是不太直接。

    相反,Linux長期用戶會在一個單獨的系統上安裝日常工作所需的應用軟件,他們通過一個硬件配置較低的系統,通過SSH連接到這個單獨的系統上並運行軟件。實際上,很多Linux系統管理員會整天坐在電腦前工作,而他們所進行的操作,例如收發電子郵件,書寫工作日志或者編程等工作所使用的電腦甚至不在同一棟大樓內。在逐漸深入了解SSH的優點之後,用戶使用SSH就會更加地得心應手,並且更信任SSH.而那些剛剛熟悉Linux系統的用戶,短時間內還不能很快理解SSH為工作效率帶來的提升。

    配置和使用OpenSSH是一件對未來工作效率提升非常有幫助工作,盡管目前可能還無法立即看到收益。假以時日,你將會懷疑如果沒有SSH還能否正常工作。

    通過在工作站的Windows環境運行多終端模擬器,或者通過Screen工具,Linux或其它Unix系統管理員都可以輕松地同時管理多個系統。SSH可以通過網絡管理外殼或Perl腳本安全快速實現一次性自動管理多台服務器。





Copyright © Linux教程網 All Rights Reserved