安全複製

安全複製(英語:Secure copy,縮寫SCP)是指在本地主機與遠程主機或者兩台遠程主機之間基於Secure Shell(SSH)協定安全地傳輸計算機檔案。“SCP”通常指安全複製協定或者程式本身。

基本介紹

  • 中文名:安全複製
  • 外文名:Secure copy
  • 簡寫:SCP
  • 定義:指安全複製協定或者程式本身
  • 性質:協定
  • 領域:網路安全
安全複製協定,功能,遠程到遠程模式,有關shell配置檔案的問題,安全複製(遠程檔案複製程式),

安全複製協定

SCP是一種基於BSDRCP協定的網路傳輸協定,支持同一個網路上主機之間傳輸檔案。SCP使用Secure Shell(SSH)完成數據傳輸,並使用同時用它進行身份認證,從而確保數據傳輸時的真實性保密性。客戶端可以向伺服器傳送(上傳)檔案,可選包含其基本屬性(許可權、時間戳)。客戶端也可以請求(下載)一個伺服器的檔案或目錄。SCP默認通過TCP連線埠22運行。如同RCP,沒有RFC定義該協定的細節。

功能

正常來說,一個客戶端發起到遠程主機的SSH連線,並請求在遠程伺服器上啟動一個SCP進程。遠程SCP進程可以以兩種模式之一操作:
  • 源模式,讀取檔案(通常從磁碟)並將其傳送回客戶端。
  • 槽(sink)模式,接收客戶端傳送的檔案,並將它們寫入到遠程主機(通常到磁碟)。
對大多數SCP客戶端來說,源模式通常使用-f標識(意為from)觸發,而槽模式用-t(意為to)觸發。這些標誌是在內部使用,沒有在SCP原始碼之外留有文檔。

遠程到遠程模式

在過去,遠程到遠程的安全複製中,SCP客戶端打開一個到源主機的SSH連線,並請求它打開到目的地的SCP連線。(遠程到遠程模式不支持打開兩個SCP連線,並使用始發客戶端作為一個中介)。應格外注意的是,當在密碼或鍵盤互動認證模式下操作時,SCP不能用於遠程的從源複製到目的地,因為這將向源顯示目的地伺服器的認證憑證。但是,使用基於密鑰或GSSAPI的方法可以規避此點,因為不需要用戶輸入。
最近以來,遠程到遠程模式支持通過發起轉移的客戶端路由流量,即使它是轉移的第三方。這種方法下,授權憑據必須僅駐留在發起客戶端上,即第三方。

有關shell配置檔案的問題

SCP不希望與ssh登錄的shell用文本通信。這是由於文本傳輸的ssh配置檔案(例如.bashrc檔案中的echo "Welcome")會被解釋為一條錯誤訊息,並且一個空行(echo "")將導致scp死鎖為等待錯誤訊息完成。

安全複製(遠程檔案複製程式)

SCP程式是將SCP協定實現為服務守護程式或客戶端的軟體工具。它是執行安全複製的程式。SCP伺服器程式通常與SCP客戶端是相同的程式。SCP伺服器軟體可以普通機器或防火牆配置為僅接受22連線埠上的SCP流量的極高安全標準的機器上運行。
使用最廣泛的SCP程式可能是命令行界面的scp程式,這在大多數SSH實現中提供。scp程式是rcp命令的安全模擬。scp程式是所有想提供SCP服務的SSH伺服器的必備,scp功能也作為SCP伺服器。
部分SSH實現提供scp2程式,這使用SFTP協定而非SCP,但提供與相同的命令行界面scp。scp此時通常符號連結至scp2。
通常來說,scp程式的語法類似cp(copy)的語法。
複製檔案到主機:
scp SourceFile user@host:directory/TargetFile
從主機複製檔案:
scp user@host:directory/SourceFile TargetFilescp -r scp user@host:directory/SourceFolder TargetFolder
注意,如果遠程主機使用非默認連線埠22,可以在命令中指定。例如,從主機複製一個檔案。
scp -P 2222 user@host:directory/SourceFile TargetFile
由於安全複製協定僅實現檔案傳輸,GUI的SCP客戶端很少,因為實現它需要額外的功能(至少要有目錄列出)。例如,WinSCP默認為SFTP協定。即使在SCP模式下操作,WinSCP等客戶端通常也不是純粹的SCP客戶端,因為他們必須用其他手段實現額外的功能(例如ls命令)。這反過來帶來了平台依賴性問題。
SFTP客戶端是更全面的通過SSH管理檔案的工具。

相關詞條

熱門詞條

聯絡我們