歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用SSH實現Linux下的安全數據傳輸

使用SSH實現Linux下的安全數據傳輸

日期:2017/2/28 17:52:45   编辑:Linux教程

目前在互聯網上使用的諸如FTP、Telnet、POP等服務在本質上都是不安全的,它們在網絡上使用明文傳送口令和數據,黑客非常容易就可以截獲這些口令和數據,從而破壞數據的機密性和完整性。本文將介紹如何使用Linux下的SSH軟件在不安全的網絡環境下通過密碼機制來保證數據傳輸的安全。

SSH的英文全稱是Secure SHell。通過使用SSH,用戶可以把所有傳輸的數據進行加密,這樣即使網絡中的黑客能夠劫持用戶所傳輸的數據,如果不能解密的話,也不能對數據傳輸構成真正的威脅。另外,傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、POP提供一個安全的“傳輸通道”。在不安全的網路通信環境中,它提供了很強的驗證(authentication)機制與非常安全的通信環境。

SSH是由客戶端和服務端的軟件組成的,有兩個不兼容的版本分別是: 1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。

SSH提供兩種級別的安全驗證: 一是基於口令的安全驗證。只要用戶知道自己賬號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證用戶正在連接的服務器就是用戶想連接的服務器。可能會有別的服務器在冒充真正的服務器,這存在著潛在的威脅。

二是基於密匙的安全驗證。需要依靠密匙,也就是用戶必須為自己創建一對公匙/密鑰對,並把公用密匙放在需要訪問的服務器上。如果需要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求使用用戶的密匙進行安全驗證。服務器收到請求之後,先在服務器上用戶的主目錄下找到該用戶的公用密匙,然後把它和用戶發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”並把它發送給客戶端軟件。客戶端軟件收到“質詢”之後就可以用用戶的私人密匙解密再把它發送給服務器。

安裝與啟動SSH

在Red Hat Linux 7以及其上的發行版本中已經包含了與OpenSSH相關的軟件包,如果沒有,則可以從OpenSSH的主頁下載RPM包自行安裝,OpenSSH的主頁是地址是: www.openssh.com。主要安裝如下幾個包: openssh-3.5p1-6、openssh-server-3.5p1-6、openssh-askpass-gnome-3.5p1-6、openssh-clients-3.5p1-6、openssh-askpass-3.5p1-6。使用如下命令進行安裝:

首先查詢系統是否安裝了上述軟件包。

  
  #rpm -qa |grep openssh
  

如果沒有安裝則執行如下命令。

  
  #rpm -ivh openssh-3.5p1-6
  
  #rpm -ivh openssh-server-3.5p1-6
  
  #rpm -ivh openssh-askpass-gnome-3.5p1-6
  
  #rpm -ivh openssh-clients-3.5p1-6
  
  #rpm -ivh openssh-askpass-3.5p1-6
  

安裝完成之後,可以使用下述兩個命令中的任一個進行啟動。

  
  #service sshd start
  
  #/etc/rc.d/initd/sshd start
  

另外,如果想在系統啟動時就自動運行該服務,那麼需要使用setup命令,在網絡服務配置的選項中,選中sshd守護進程即可。

安裝啟動完OpenSSH之後,用下面命令測試一下。

 

 
  ssh -l [username] [address of the remote host]
  

如果OpenSSH工作正常,將會看到下面的提示信息:

  
  The authenticity of host [hostname] can't be established.
  
  Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
  
  Are you sure you want to continue connecting (yes/no)?
  
Copyright © Linux教程網 All Rights Reserved