SSH、SCP和SFTP都是SSH軟件包的組成部分。git
SSH 是 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲創建在應用層基礎上的安全協議。SSH 是目前普遍採用的安全登陸協議,專爲遠程登陸會話和其餘網絡服務提供安全性的協議,替代之前不安全的Telnet協議。利用 SSH 協議能夠有效防止遠程管理過程當中的信息泄露問題。web
SSH包括二個部分,服務端的SSHD(Secure Shell Daemon)和SSH客戶端。咱們一般所說的用SSH登陸到某某主機,指的是用SSH客戶端遠程登陸到某臺主機(該主機運行了SSHD服務端程序)。shell
SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其餘操做平臺,目前幾乎全部UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其餘系統平臺,均可運行SSH。windows
再說一說SCP和SFTP。安全
SCP是Secure Copy的簡稱,是用來與遠程主機之間進行數據傳輸的協議,至關於通過加密的Copy命令。SCP數據傳輸使用 ssh協議,而且和ssh 使用相同的認證方式,提供相同的安全保證 。 根據實際須要,scp進行驗證時會要求你輸入密碼或口令。服務器
SFTP=SSH File Transfer Protocol ,有時也被稱做 Secure File Transfer Protocol 。SFTP是用SSH封裝過的FTP協議,至關於通過加密的FTP協議,功能與FTP同樣,只是傳輸數據通過加密。網絡
SFTP也有二個部分,服務端的SFTP-Server及SFTP Client。一般所說的用SFTP登陸到某臺主機,指的是用SFTP客戶端登陸到某臺主機(該主機運行了SFTP-Server服務端程序)。ssh
SCP和SFTP異同:ide
無論SCP仍是SFTP,都是SSH的功能之一,也都是使用SSH協議來傳輸文件的。工具
不僅是登陸時的用戶信息,相互傳輸的文件內容也是通過SSH加密的,因此說SCP和SFTP實現了安全的文件傳輸。
SCP和CP命令類似,SFTP和FTP的使用方法也相似。SCP和SFTP的共同之處在於「使用SSH將文件加密才傳輸的」
使用「WinSCP」或者「FileZilla」之類的客戶端,還能夠和Windows之間進行文件傳輸。
SCP和SFTP的不一樣之處,首先就是以前提到的,SCP使用「SCP命令」,SFTP則相似「FTP處理文件」的使用方式。
它們的不一樣之處還不止如此,還有「SCP比較簡單,是輕量級的,SFTP的功能則比較多」。
雖然還有不少不一樣之處,但兩者的最大不一樣之處在於「SFTP在文件傳輸過程當中中斷的話,鏈接後還能夠繼續傳輸,但SCP不行」。
因爲各類緣由致使的文件傳輸中斷是常常討論的話題,因此這個區別(SFTP支持斷點續傳,SCP則不支持)被認爲是最大的區別。
【知識擴展】
FTP:文件傳輸協議( File Transfer Protocol的縮寫 )是用於在網絡上進行文件傳輸的一套標準協議。它屬於網絡協議組的應用層。
FTP端口知識:
FTP服務器和客戶端要進行文件傳輸,就須要經過端口來進行。FTP協議須要的端口通常包括兩種:
控制鏈路---TCP端口21。控制器端口,用於發送指令給服務器以及等待服務器響應。全部你發往FTP服務器的命令和服務器反饋 的指令都是經過服務器上的21端口傳送的。
數據鏈路---TCP端口20。數據傳輸端口,用來創建數據傳輸通道的。主要用來從客戶向服務器發送一個文件、從服務器向客戶發送一個文件、從服務器向客戶發送文件或目錄列表。數據鏈路主要是用來傳送數據的,好比客戶端 上傳、下載內容,以及列目錄顯示的內容等。
FTP、Telnet和POP,其本質上都是不安全的;由於它們在網絡上用明文傳送數據、用戶賬號和用戶口令。
常見的SSH客戶端:
圖形化客戶端:
WinSCP,是一個Windows環境下使用SSH的開源圖形化SFTP客戶端。同時支持FTP、SCP、webdav協議。它的主要功能就是在本地與遠程計算機間安全的複製文件。
Xftp,是一個基於 MS windows 平臺的功能強大的SFTP、FTP 文件傳輸軟件。使用了 Xftp 之後,MS windows 用戶能安全地在 UNIX/Linux 和 Windows PC 之間傳輸文件。
FileZilla是一個免費開源的FTP軟件,分爲客戶端版本和服務器版本,具有全部的FTP軟件功能。支持FTP,SFTP(SSH File Transfer Protocol), FTPS(FTP over SSL/TLS)等多種協議。
終端工具類:
PuTTY是一個Telnet、SSH、rlogin、純TCP以及串行接口鏈接軟件。PuTTY是一款開放源代碼軟件,使用MIT licence受權。
Xshell 是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, SFTP以及Microsoft Windows 平臺的TELNET 協議。