如何在Linux中使用scp命令

时间:2020-01-09 10:39:55  来源:igfitidea点击:

说明

在本教程中,我们将学习如何在Linux中使用SCP命令将文件安全地复制到远程主机。

scp命令是一种将数据从一台主机传输到另一台主机的非常安全的方法,并使用SSH提供的相同身份验证和安全性。因此,这是在LAN网络上的服务器之间传输数据的最安全方法之一。

SCP命令基础

要将文件或者目录从一台主机复制到另一台主机,请使用以下语法。

scp [options] source ... target
  • "源"是要复制到目标主机的文件或者目录的列表。
  • "目标"是要将文件复制到的主机。

以下是可以设置的与SSH相关的常用选项。

选项说明
-4强制scp仅使用IPv4地址
-6强制scp仅使用IPv6地址
-B选择批量模式。此模式超过任何密码或者密码短语提示
-C压缩已启用,将其传递给SSH
-c密码SSH使用的密码
-F ssh|u config为ssh指定一个可选的每用户配置文件
-i identity|file选择从中读取用于公钥身份验证的标识(私钥)的文件
-J destination通过首先与“destination”所描述的跳转主机建立scp连接,然后从那里建立到目标主机的TCP转发来连接到目标主机。多个跳转可以用逗号分隔
-l limit限制带宽,单位为Kbit/s
-o ssh|options;用于以“sshu config(5)”中使用的格式将选项传递给ssh

SCP文件到目标服务器

以下示例将目录路径"〜/ app"从源主机复制到目标主机10.0.0.24. SSH连接使用" lab_id_rsa"私钥进行身份验证。

scp -I ~/.ssh/lab_id_rsa ~/app 10.0.0.24:/opt/app

SCP将多个文件发送到目标服务器

在以下示例中,源主机中的多个目录被复制到远程主机。这些目录将复制到目标主机上的/ opt / backups目录中。

scp ~/app1 ~/app2 ~/app3 10.0.0.24:/opt

仅基于IPv4的SCP

在此示例中,我们强制scp命令仅使用IPv4地址在两个主机之间复制文件。

scp -4 ~/app1 ~/app2 ~/app3 10.0.0.24:/opt

仅基于IPv6的SCP

随着IPv6在企业组织和Internet中变得越来越普遍,我们可能只想在使用scp命令时强制使用IPv6.

scp -6 ~/app1 ~/app2 ~/app3 10.0.0.24:/opt

SCP批处理模式可禁止密码

在脚本文件或者自动工作流程中使用scp命令在两台主机之间复制数据时,应禁止输入任何密码或者密码提示。 scp命令有一个-B标志,该标志强制忽略提示。

为了使用scp批处理模式,远程用户必须没有强烈建议不要使用的密码,或者它必须使用SSH公/私钥对进行身份验证。

scp -i ~/.ssh/backup_id_rsa ~/backup/files 10.0.0.4:/opt/backups