利用SSH工具對伺服器進行遠端控制

來源:互聯網
上載者:User

  網路被攻擊,很多情況是由於伺服器提供了Telnet服務引起的。的確,對於UNIX系統,如果要遠端管理它,必定要使用遠程終端,而要使用遠程終端,自然要在伺服器上啟動Telnet服務。但是Telnet服務有一個致命的弱點——它以明文的方式傳輸使用者名稱及口令,所以,很容易被別有用心的人竊取口令。目前,一種有效代替Telnet服務的有用工具就是SSH服務。SSH用戶端與伺服器端通訊時,使用者名稱及口令均進行了加密,有效防止了對口令的竊聽。本文向大家介紹運行在常用作業系統上的SSH伺服器軟體包的使用。

  首先,SSH軟體包由兩部分組成,一部分是伺服器端軟體包,另一部分是客戶軟體包。針對UNIX、Linux伺服器作業系統,這兩個軟體包是分開打包在兩個不同的檔案中的。在Windows 9x/NT/2000中,也分為兩部分,不同之處在於,伺服器軟體包只能運行在Windows NT及 Windows 2000 Server以上的版本中,而用戶端SSH可以運行在所有的Windows系統中。   

  一、UNIX/Linux下SSH2安裝步驟

  1.下載軟體包,下載地址www.ssh.com,下載最新軟體包SSH2,最好下載來源程式軟體包自己進行自行編譯。

  2.解壓及安裝:

    # tar -zxvf ssh2-2.4.0.tar.gz

    # cd ssh2-2.4.0

    # ./configure

    # make

    #make install

  安裝完成。這一過程實際上將伺服器軟體包及用戶端軟體一起安裝了,不必再次安裝用戶端軟體包。

  已編譯好的二進位軟體包以rpm格式存放在ftp://ftp.ssh.com/pub/ssh/rpm目錄下。它是一個給非商業使用者使用的軟體包,軟體包名稱為:ssh-2.4.0-1.i386.rpm,其中包含了對X Window的支援,另一個不支援X Window的軟體包為ssh- 2.4.0-1nox.i386.rpm,下載後可以直接安裝。安裝程式將SSH2軟體包安裝在/usr/local/bin及 /usr/local/sbin下。   

  二、Windows NT/2000/2003 Server上安裝SSH

  在NT及Windows 2000 Server環境下,可選擇的伺服器軟體有:Vshell、ssh2-2.4.0.win-server。 Vshell是由Van Dyke提供的一個可以在Windows NT/2000環境下提供SSH2伺服器的軟體包,其下載地址如下: //www.vandyke.com/download/index.html。另一個運行在Windows環境下的SSH伺服器是 SSHWinServer.exe,可以直接從ftp://ftp.ssh.com/pub/ssh目錄下下載。

  Windows環境下的安裝十分簡單,本文不再多介紹。

  與UNIX不同,在Windows環境下,需要分別安裝伺服器及用戶端軟體包。運行在Windows環境下的用戶端軟體,也可以從以上兩個網站下載得到,檔案名稱分別為SecureCRT及SSHWin-2.4.0-pl2。

  三、關於密鑰的準備工作

  A.伺服器端產生使用者的自己的加密金鑰及對外公開使用的公開金鑰。在UNIX環境下,產生密鑰的方法如下:

  keygen

  要求使用者輸入一個長的認證字串,這個字串的功能同password相當,但是,它更長,一般是在20個字元以內。再次輸入相同的字串以確認輸入的正確,之後,系統產生一對密鑰及公開金鑰。將公開金鑰複製到本地,以便用戶端對伺服器發送的資訊進行解密用。當然,如果你不複製,在第一次登入時,伺服器會將它的公開金鑰自動推給客戶機,以便客戶機能對伺服器提供的資訊進行解密識別。

  B.用戶端產生使用者的加密金鑰及公開金鑰。用戶端產生自己的密鑰及公開金鑰的方法與伺服器端相同。而Windows環境下的一些支援SSH的用戶端軟體都採用自己產生的方法,具體情況各不相同,但是可以肯定的是所有的支援SSH的用戶端都可以而且必須產生。以sshWin2.4為例說明如下:

  開啟選單:Edit→Settings→Globe settings→User keys→Generate New keypairs,按照提示會自動產生新的密鑰及公開金鑰對。

  最後,將客戶機產生的公開金鑰複製到服務端的主機上使用者的目錄中(在UNIX下應為/home/usrname/.ssh2目錄中)。不同的版本的SSH對公開金鑰及密鑰的檔案名稱有特定的要求,具體情況請閱讀軟體包中的安裝說明。

  四、啟動SSH伺服器

  在UNIX/Linux環境下,伺服器程式放置在/usr/local/sbin目錄下,啟動方法如下:

  # sshd

  # ps x

  可以看到SSHD已經啟動了。如果不希望每次重啟動系統,都要手工運行啟動SSHD,則可以自己寫一個指令碼,放置在init.d目錄下,讓系統啟動後,自動執行SSHD服務的啟動工作。或者直接在rc.local中加入一行/usr/local/sbin/sshd也可。 Windows NT/2000/下啟動SSH2 Server,運行程式組中的start SSH2 Server即可。

  使用SSH

  用戶端在UNIX/Linux系統中就是SSH,存放在/usr/local/bin目錄下。其中有SSH1、SSH2、scp等用戶端工具,使用SSH登入遠程主機方法如下:

  host.ip.of.remote

  如同使用Telnet一樣,不同之處是要求使用者輸入認證字串,如果認證字串通過了認證,則使用者直接登入成功;如果不成功,則是要求使用者輸入系統口令。口令認證成功後,使用者也可以成功登入系統。從使用上看,與Telnet沒有什麼不同之處。而且有了SSH用戶端軟體,如果你要上傳檔案,不必向以前一樣再開一個FTP視窗,再次認證,然後上傳檔案。使用SSH用戶端內建的scp工具,就可以直接將檔案上傳到遠端伺服器上。使用方法如下:

  host1:dir/filename host2:/home/abc/filename

  在Windows系統中,可供使用的SSH用戶端有:SecurCRT,也即CRT的支援SSH的版本(下載地址: //www.vandyke.com/),這是一個很好的支援SSH的遠程終端,它同時支援SSH1及SSH2。使用者可以根據伺服器端自由選擇,讓它支援相應的標準。

  另一個可供選擇的是ssh.com提供的用戶端,下載地址:ftp://ftp.ssh.com/pub/ssh/SSHWin-2.4.0-pl2.exe,這是新版本的SSH2用戶端。

  另外,還有支援SSH的FTP用戶端工具,其中sshwin-2.4中就有一個SSH Secure File Transfer Client,它可以用來在兩個主機之間傳輸加密後的檔案。也即scp的功能。配合SecureCRT的也有一個相應的支援SSH的FTP工具,其名稱為: SecureFX,可以從www.vandyke.com/下載使用。

  下圖為SecureCRT登陸伺服器示意圖:

  由於種種原因,一些支援SSH的GUI用戶端不一定會很好地支援以上各個伺服器,大家可以自行組合以上工具,找到適合自己的工具。一般來說,在 UNIX下的用戶端對各種伺服器的支援是最好的。通常在選擇伺服器及用戶端軟體時,最好選擇同一軟體商的產品,這樣不會出現不相容的問題。

  需要補充的是,如果你既想使用SSH2又不想付費,那麼一個可供選擇的自由軟體是Openssh,它是一個遵守GPL協議的軟體包,同時支援SSH1 及SSH2標準,是另一個被廣泛使用的SSH軟體包(可以從www.openssh.com下載)。Openssh的最新版本為Openssh- 2.5.1,提供全部源碼。不過,在編譯前,應仔細閱讀其說明檔案。編譯過程中要用到zlib及openssl兩個軟體包,使用者首先需要下載並安裝它們,之後再編譯openssh。具體過程請閱讀軟體包中的install檔案。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。