做為網絡管理者,我們不可能總是在機房操作伺服器,對于windows伺服器,我們可以通過遠端終端或netmeeting進行操作。但是對于Linux伺服器呢?我們也可以使用遠端工具進行操作,常用的遠端管理服務有telnet,SSH,VNC等,這些遠端管理服務雖然都能做遠端管理用,但是他們在功能及使用方面還是各有千秋。今天我們就來談談使用這些不同的遠端管理服務工具管理Linux伺服器。
本文中的伺服器IP位址為192.168.99.9,伺服器使用系統為:CentOS 5。
<b>一、</b><b>Telnet</b>
<b>1. </b><b>軟體安裝:</b>
我們可以使用rpm -qa|grep telnet指令查詢系統安裝的telnet,如下圖:
系統預設安裝了telnet的用戶端,沒有安裝telnet服務端,telnet服務端是需要xinetd支援的,是以我們需要手動安裝這兩個程式包,如下圖:
<b>2. </b><b>啟動</b><b>Telnet</b><b>服務</b>
使用指令vi /etc/xinetd.d/telnet,編輯telnet服務,将disable=yes該為disable=no,激活telnet服務。
使用service xinetd start指令,啟動telnet服務。
我們可以使用telnet ip指令來測試,比如telnet 192.168.99.199這台機,如下圖,可以正常telnet到192.168.99.199.
我們再找一台windows的機器來telenet我們的linux服務,如下圖,如果我們使用root帳号登入,會提示login incorrect,這是因為telnet預設不允許以root的身份telnet進入linux系統。
<b>3. </b><b>配置</b><b>telnet</b><b>服務</b>
telnet是明文傳送密碼和資料的,如果直接預設使用,将存在很大的安全風險,是以我們必須對telnet服務做一些限制。使用指令vi /etc/xinetd.d/telnet編輯telnet服務,如下圖:
說明:
bind=192.168.99.9 #本機的IP位址
only_from=192.168.99.0/24 #隻允許192.168.99.0--192.168.99.255這個網段的位址telnet進來,如果需要也可以設定隻允許某台機器telnet進來。
no_access=192.168.99.{11,13} #不允許192.168.99.11和192.168.99.13這兩個IP位址telnet進來。
access_times=8:00-12:00 14:00-16:00 #每天隻在這個時間段内開放telnet服務。
<b>4. </b><b>設定</b><b>telnet</b><b>端口</b>
telnet預設使用23端口進行通訊,這個大家都知道,也容易被一些别有用心的人利用,是以我們将需要更改預設端口以增加安全性,比如改為2300。
使用vi /etc/services指令,找到telnet 23/tcp和telnet 23/udp改為telnet 2300/tcp和telnet 2300/upd,如下圖:
<b>5. </b><b>開啟</b><b>root</b><b>使用者登入</b>
雖然telnet預設不允許使用root使用者登入,但是我們還是可以開啟它,使用指令mv /etc/securetty /etc/securetty.bak ,重新開機telnet服務,現在就可以使用root使用者登入了。如下圖所示,不過,不建議開通root使用者的登入權限,這樣會增加安全風險。
<b>二、</b><b>OpenSSH</b>
由于telnet采用明文傳輸,在安全性方面存在較大的隐患,是以現在正在被另一種遠端管理服務—SSH服務取代。SSH采用加密的傳輸,而且在使用者認證方式上,可以使用公共密鑰加密法,整體安全性得到提高。下面我們就來看看SSH服務的相關内容:
<b>1. </b><b>軟體安裝</b>
系統已經預設安裝了OpenSSH,我們可以通過指令rpm -qa|grep openssh來檢視openssh的安裝情況,如下圖所示:
<b>2. </b><b>使用</b><b>windows</b><b>用戶端登入伺服器</b>
windows xp本身沒有自帶ssh用戶端程式,是以我們需要在windows上安裝ssh用戶端程式,常用的windows版ssh用戶端軟體有WinSCP和putty等。WinSCP支援中文語言,而且提供了一個友好的圖形操作界面,使用者可以很友善操作它,下面我們先來介紹一下WinSCP:
如下圖,填入主機名或IP位址就可以登入了:
在登入的時候,會如果沒有加載密鑰wenjian ,會彈出一個下圖所示的警告視窗,由于我們現在還沒有使用密鑰認證,是以可以直接點是進去。
WinSCP提供了一個類似windows資料總管的界面,如下圖:使用者可以通過它很友善的執行檔案操作,比如上傳、下載下傳,檔案、目錄重命名等工作。
WinSCP也提供了一個用于執行指令的控制台,如下圖,不過,使用起來感覺不是很友善。
如果要像在Linux下那樣友善的使用指令行來操作,還是使用PuTTY比較友善。如下圖,輸入計算機名或IP位址,就可以連接配接SSH伺服器了。
在連接配接過程中,也會彈出一個警告對話框,提示密鑰問題,我們還是點yes繼續。如下圖:
系統連接配接上後,會提示要輸入使用者名和密碼,輸入正确的使用者名和密碼後,就可以像在linux中一樣使用指令行對它進行操作了。預設情況下,是允許使用root帳戶登入的。如下圖:
<b>3. </b><b>配置</b><b>SSH</b><b>服務</b>
在預設情況下,我們已經可以使用用戶端登入ssh伺服器了,不過,直接使用還是有安全隐患,是以我們還需要繼續對SSH服務進行配置:
1)使用指令vi /etc/ssh/sshd_config配置SSH服務,修改以下行(用紅線框住的行):
Protocol 2 # 預設支援SSH1和SSH2,修改後,隻使用SSH2
ServerKeyBits 1024 #将ServerKey強度改為1024比特
PermitRootLogin no # 修改後,不允許使用root進行登入
PasswordAuthentication no # 修改後,不允許以密碼方式登入
PermitEmptyPasswords no # 修改後,禁止空密碼登入
2)系統預設是允許所有位址連接配接SSH伺服器的,是以我們還需要對通路位址進行限制:
使用指令vi /etc/hosts.deny,修改屏蔽規則,在末尾加上:sshd:ALL,屏蔽來自所有的SSH連接配接請求。
現在所有電腦都不能連接配接SSH伺服器,是以我們還需要使用指令vi /etc/hosts.allow修改允許規則,在行尾加入一條:sshd:192.168.99. ,允許來自192.168.99.0/24這個網段的SSH連接配接請求,當然在這裡也可以設定隻允許部分IP位址的SSH連接配接,這個大家可以根據自己的需求進行設定。
設定完成後,需要重新開機SSH服務才能生效。
我們再用PuTTY連接配接一下,無法登入了。因為現在已經不能用密碼驗證了,需要使用“鑰匙”了。
<b>4. </b><b>公鑰和私鑰的建立</b>
切換到一個普通使用者,基于這個使用者建立公鑰和私鑰。(這裡我以admin這個自建的帳戶為例),操作過程如下圖:
公鑰和私鑰建立好後,還需要做一些處理,如下圖:
OK,現在已經配置完成。下一步,我們需要将私鑰複制到用戶端電腦上,私鑰檔案存放地點:/home/admin/.ssh/id_rsa。
<b>5. </b><b>轉換來自伺服器端的私鑰</b>
由于伺服器生成的私鑰不能被用戶端直接使用,我們還需要對私鑰進行轉換。下面我們就以最常用的PuTTY用戶端為例進行說明。
對于PuTTY用戶端,我們可以使用PuTTYGen這款工具對私鑰進行轉換。
運作PuTTYGen,然後點選Load,載入私鑰,如下圖:
開始轉換,這時會彈出一個對話框,要求輸入在伺服器端建立此私鑰時的密碼,如下圖:
轉換完成後,會彈出一個轉換成功的對話框,如下圖:
點選“Save private key”儲存私鑰,如下圖:私鑰轉換完成。
<b>6. </b><b>使用</b><b>putty</b><b>登入伺服器</b>
打開PuTTY工具,在左面闆上點選Auth(認證方式),然後點選右面闆上的Browse,加載剛才轉換後的私鑰,如下圖:
然後點選左面闆的Session,回到主機連接配接資訊對話框,如下圖:
在“Host Name”項填入主機名或IP位址,然後在“Saved Sessions”項填入此連接配接的名稱(可以是任意名稱),然後點選Save,儲存主機連接配接設定,如下圖:
輕按兩下建立立的連接配接,輸入使用者名和密碼就可以連接配接了。注意:這裡的密碼不是使用者密碼,而是剛才建立私鑰時設定的密碼。
OK,通過“鑰匙”方式登入SSH伺服器的設定至此完成。
這裡還有一點需要注意的:如果要允許某個使用者使用SSH連接配接伺服器,就必須基于這個使用者建立對應的公鑰和私鑰。
<b>三、</b><b>VNC</b>
使用SSH可以安全的連接配接到Linux伺服器,但是如果連接配接中斷,那麼連接配接過程中執行的指令也會中止。在使用SSH連接配接過程中執行一些程式時,中斷是很危險的,可能對系統造成一定的影響。是以,我們還需要考慮另外的一種解決方案,以便一些特殊情況下使用。VNC剛好可以滿足這個需求,使用VNC連接配接,在網絡中斷的情況下,原來執行的指令等不會受到影響,系統會繼續執行。而且VNC可以提供一個完整的Linux操作界面,通過它,可以像操作本機一樣操作Linux伺服器。下面我們就來看看使用VNC連接配接的情況:
我們可以使用指令rpm -qa|grep vnc檢查vnc的安裝情況,系統已經預設安裝了。如果系統沒有安裝,可以在安裝CD光牒上找到該程式包。使用rpm安裝就可以了。
<b>2. </b><b>啟動</b><b>VNC</b><b>服務</b>
使用指令vncserver :1就可以啟動VNC服務了,其中,“數字”1表示桌面号。第一次執行時,會需要輸入連接配接密碼,該密碼儲存在/root/.vnc/passwd中;同時在使用者主目錄下的.vnc子目錄中為使用者自動建立xstartup配置檔案,在每次啟動VNC服務時,都會讀取該檔案中的配置資訊。
我們通過windows的VNC Viewer輸入“192.168.99.9:1”,然後點選OK,輸入密碼就可以通過VNC連接配接伺服器了。
如下圖,已經連接配接到了Linux伺服器,不過由于使用的是x-windows的桌面環境,是以界面看起來不美觀。另外,除了使用VNC Viewer進行登入,我們還可以使用浏覽器進行連接配接,不過,需要先安裝Java支援環境和VNC viewer for Java)
<b>3. </b><b>配置</b><b>VNC</b><b>桌面環境為</b><b>KDE</b><b>或</b><b>GNOME</b><b>桌面環境</b>:
VNC服務預設使用twm圖形桌面環境,剛才我們已經看到了,不美觀。還好,我們可以修改它,使用指令:vi /root/.vnc/xstartup,
将最後一行的twm改為startkde則修改為KDE桌面環境,修改為gnome-session則為GNOME桌面環境。比如,我們将它改為KDE桌面環境,如下圖:
重新開機VNC服務,如下圖:
我們再用VNC Viewer連接配接,現在出現的就是KDE桌面環境了,如下圖:
<b>4. </b><b>配置多個桌面環境</b>
使用指令/etc/sysconfig/vncservers修改配置檔案(修改部分見紅色框内),如下圖:
這裡我們将桌面1設定為root使用者的桌面,桌面2設定為admin使用者的桌面。
注意:設定好後,需要以對應使用者的身份登入,手動執行一次vncserver :<number>指令,以初始化$HOME/.vnc/xstartup和$HOME/.vnc/passwd檔案。
以後啟動的話,可以使用/etc/init.d/vncserver start指令,現在可以使用VNC Viewer登入了:
<b>5. </b><b>修改</b><b>VNC</b><b>通路密碼:</b>
我們可以通過指令vncpasswd修改使用者的連接配接密碼,注意,如果有多個不同的使用者,需要在不同使用者的使用者環境下修改其連接配接密碼。
OK,三種不同的遠端管理服務都已經介紹完了,大家在日常工作中可以根據自己的需要對伺服器進行相應的配置,以便更好的進行遠端管理。
本文轉自Tonyguo 51CTO部落格,原文連結:http://blog.51cto.com/tonyguo/179084,如需轉載請自行聯系原作者