如何在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 ;用于以“ssh | u 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