当前位置首页 > 百科> 正文

安全複製

2019-04-10 16:08:58 百科

安全複製

安全複製(英语:Secure copy,缩写SCP)是指在本地主机与远程主机或者两台远程主机之间基于Secure Shell(SSH)协定安全地传输计算机档案。“SCP”通常指安全複製协定或者程式本身。

基本介绍

  • 中文名:安全複製
  • 外文名:Secure copy
  • 简写:SCP
  • 定义:指安全複製协定或者程式本身
  • 性质:协定
  • 领域:网路安全

安全複製协定

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管理档案的工具。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net