使用Scp命令在Linux中安全地复制文件

Linux命令4年前 (2021)发布 AI观察员
176 0 0

什么是Scp命令

Scp是Secure Copy的首字母缩写,是基于Linux的操作系统中的命令行实用程序,允许用户在远程主机和本地主机之间复制文件。由于该命令通过网络将文件传输到其他主机,因此需要SSH访问。SSH(安全外壳)是允许您通过任何网络安全地处理网络服务的协议。

scp命令还支持一些其他功能,例如指定身份验证参数,更改端口,传输目录等。

为什么Scp比其他方法更好

与其他文件传输方法相比,通常首选Scp,因为在传输过程中,两个主机之间的连接是加密的。SSH协议负责加密文件,密码和任何其他敏感信息。

其他传输方法(例如Telnet或FTP)没有任何加密。同样,用户/密码密钥对也以纯文本格式保存,这根本不是一个好习惯。黑客可以通过嗅探网络轻松地访问您的信息。

如何使用Scp安全传输文件

使用scp命令,您可以在以下之间传输文件:

  1. 本地主机和远程主机
  2. 远程主机和本地系统
  3. 两台远程主机

基本语法

scp命令的基本语法为:

scp [options] [source] [destination]

从本地主机传输到远程系统

如果您是服务器管理员,则在本地主机和远程主机之间传输文件可能对您有用。要将名为document.txt的文件上传到远程主机,请执行以下操作:

scp /home/document.txt user@remote-host:/home/document.txt

请注意,源是本地存储上文件的路径。目标是远程主机上文件的路径。您还必须指定远程服务器的用户名和域名。在上面的命令中,user是用户名,remote-host是域名。

目标路径是从使用远程主机细节分离冒号字符()。请记住,如果您要成功传输文件,则用户必须存在于远程服务器上。此外,用户应该对要在其中保存文件的目录具有写访问权。

发出上述命令后,系统将要求您提供远程用户的密码。输入密码,然后按Enter键

user@remote-host's password:

如果密码有效,则文件传输将初始化。如果输入了错误的密码,将会发生错误。

在尝试使用scp命令复制文件之前,请使用SSH登录到服务器,以确保远程主机的详细信息和密码正确无误。

从远程主机到本地主机

要将文件从远程主机复制到本地主机,只需在scp命令中互换源路径和目标路径即可。

scp user@remote-host:/home/document.txt /home/document.txt

系统将再次询问您远程用户的密码。输入密码以确认传输过程。

在两个远程主机之间

要在两个远程服务器之间复制文件,源路径和目标路径都必须是远程主机上的目录。

scp user1@remote-host1:/home/document.txt user2@remote-host2:/home/folder/document.txt

再次出现提示,要求您输入两个用户的密码。

Scp命令行选项

除了简单地将文件从源传输到目标外,scp还具有一些其他选项,可以使用特定参数来调用这些选项。

更改端口

默认情况下,scp命令在端口22上运行。但是,您始终可以覆盖默认配置并更改端口。该-P标志允许你这样做。

在将文件从本地主机复制到远程主机时,要使用其他端口号:

scp -P 35 /home/document.txt user@remote-host:/home/document.txt

上述命令将确保scp命令使用端口35传输文件。

保留文件时间戳

您可能知道Linux为每个文件设置了时间戳,以存储与文件关联的修改时间,访问时间和更改时间。当您使用scp将文件传输到另一个位置时,目标文件的时间戳将被当前时间覆盖。

如果出于任何原因要保留这些时间戳记,请使用-p标志。注意-P-p标志彼此不同。

scp -p /home/document.txt user@remote-host:/home/remote/document.txt

复制目录

如果要复制目录而不是文件,请使用-r标志以递归方式传输目录。

scp -r user@remote-host:/home/videos /home/videos

抑制模式

当您输入scp命令以传输文件时,终端将在屏幕上显示进度条和其他相关信息。但是,您可以选择不使用-q标志查看此信息。

scp -q user@remote-host:/home/document.txt /home/document.txt

使用密钥对文件进行身份验证

如果要使用密钥对文件验证远程主机连接,请使用-i标志指定文件的路径。

scp -i /home/keypair.pem /home/document.txt user@remote-host:/home/document.txt

将多个标志链接在一起

就像任何其他Linux命令一样,您可以将多个参数链接在一起,以使scp命令更有效。

例如,要更改端口并以禁止模式传输文件:

scp -P 34 -q user@remote-host:/home/document.txt home/document.txt

如果要使用密钥对文件进行身份验证,并且需要将目录复制到目标路径,请执行以下操作:

scp -i /home/secret/keypair.pem -r /home/folder user@remote-host:/home/folder

Linux系统之间的文件传输

在Internet的世界中,在系统之间传输文件已成为一项必不可少的任务。对于正在管理Linux服务器的用户来说,有时在发出特定命令之前对服务器进行备份很重要。在这种情况下,scp命令会派上用场。

同样,cp命令有助于将文件从一个位置复制到本地系统中的另一个位置。如果您刚开始使用Linux,则必须使用许多基本命令。

© 版权声明

相关文章

天猫U特购  京东优惠购        京东优惠    天猫优惠