使用SCP命令在Linux上安全地传输文件

SCP(安全副本)是Linux命令行实用程序,可让您在两个位置之间安全地复制文件和目录。

使用scp,您可以复制文件或目录:

  • 从本地到远程系统。
  • 从远程系统到本地计算机。
  • 在本地系统的两个远程系统之间。

使用scp传输数据时,文件和密码已加密,因此无法跟踪流量。

在本文中,我们将通过实际示例和最常见的scp选项的详细说明,向您展示如何使用scp命令。

使用命令之前 scp,让我们先看一下基本语法。

scp命令表达式采用以下形式:

scp [OPTION] [[email protected]]SRC_HOST:]file1 [[email protected]]DEST_HOST:]file2

  • OPTION -scp选项,例如密码,ssh配置,SSH端口,限制,递归复制等。
  • [[email protected]]SRC_HOST:]file1 -原始文件。
  • [[email protected]]DEST_HOST:]file2 -目标文件

必须使用绝对或相对路径指定本地文件,而远程文件名必须包含用户和主机规范。

scp提供了许多参数来控制其行为的各个方面。 最常用的选项是:

  • -P 指向远程主机的ssh端口。
  • -p 保存文件更改和访问时间。
  • -q 如果要取消显示进度栏和无错误消息,请使用此选项。
  • -C… 此选项将强制scp在将数据发送到目标计算机时对其进行压缩。
  • -r 此选项告诉scp递归复制目录。

团队 scp 用途 ssh 传输数据,因此需要SSH密钥或密码才能对远程系统进行身份验证。

冒号(:)在scp中区分本地主机和远程主机。

为了能够复制文件,您必须至少具有对源文件的读取权限和对目标系统的写入权限。

在两个系统上复制具有相同名称和位置的文件时,请小心,scp将覆盖文件而不会发出警告。

传输大文件时,建议在Linux中的屏幕或tmux会话内运行scp命令。

要将文件从本地复制到远程系统,请运行以下命令:

scp file.txt [email protected]:/remote/directory

这里, file.txt 这是我们要复制的文件的名称,用户 remote_username 在远程服务器上, 10.10.0.2 是服务器的IP地址。 在 /remote/directory 这是您要将文件复制到的文件夹的路径,如果您未指定远程目录,则文件将被复制到用户的远程主目录。

系统将提示您输入用户密码,然后开始传输过程。

[email protected]'s password: 
file.txt                                       100%    0     0.0KB/s   00:00

如果目标位置中没有文件名,则使用原始名称复制文件。 如果要使用其他名称保存文件,则需要指定一个新名称:

scp file.txt [email protected]:/remote/directory/andreyex.txt

如果远程主机上的SSH正在默认端口22上侦听,则可以使用以下参数指定端口 -P

ssh -P 2322 file.txt [email protected]:/remote/directory

复制目录的命令与复制文件的命令相同。 唯一的区别是您必须使用标志 -r 递归。

将文件夹从本地复制到远程系统使用选项 -r

scp -r /local/directory [email protected]:/remote/directory

要将文件从远程系统复制到本地系统,请使用远程位置作为源,并使用本地位置作为目标。

例如,复制文件 file.txt 从IP的远程服务器 10.10.0.2 运行以下命令:

scp [email protected]:/remote/file.txt /local/directory

如果尚未设置无密码SSH登录到远程计算机,则会提示您输入用户密码。

与rsync不同,使用scp,您不必登录到其中一台服务器即可将文件从一台服务器传输到另一台远程计算机。

以下命令复制文件 /files/file.txt 从远程主机 host1.com 到目录 /files 在远程主机上 host2.com

scp [email protected]:/files/file.txt [email protected]:/files

系统将提示您输入两个远程帐户的密码。 数据将立即从一台远程主机传输到另一台远程主机。

要通过机器路由流量,请使用选项 -3

scp -3 [email protected]:/files/file.txt [email protected]:/files

在本文中,您学习了如何使用scp命令复制文件和目录。

请禁用您的广告拦截器或将此网站列入白名单!

Sidebar