scp 命令,在Linux上使用scp安全复制文件示例

这篇文章包含 SCP 示例。 SCP 允许在本地主机和远程主机之间或两个远程主机之间安全地传输文件。 它使用与其所基于的 Secure Shell (SSH) 协议相同的身份验证和安全性。 SCP 因其简单性、安全性和预安装可用性而受到用户喜爱。

1. scp 示例

将文件从远程主机复制到本地主机 SCP 示例:

scp username@from_host:file.txt /local/directory/

将文件从本地主机复制到远程主机 SCP 示例:

scp file.txt username@to_host:/remote/directory/

将目录从远程主机复制到本地主机 SCP 示例:

scp -r username@from_host:/remote/directory/  /local/directory/

将目录从本地主机复制到远程主机 SCP 示例:

scp -r /local/directory/ username@to_host:/remote/directory/

将文件从远程主机复制到远程主机 SCP 示例:

scp username@from_host:/remote/directory/file.txt username@to_host:/remote/directory/

2. 高级 SCP 示例

用一些更高级的 SCP 示例更新本文。 希望您发现这些附加示例命令很有用。

使用特定端口复制文件 - 在此示例中,我们为 SCP 连接指定自定义 SSH 端口 (2222):

scp -P 2222 username@from_host:file.txt /local/directory/

通过压缩复制文件 -C 选项在文件传输期间启用压缩,这对于大文件非常有用:

scp -C username@from_host:file.txt /local/directory/

传输期间限制带宽 – 这将传输期间的带宽使用限制为 1000 Kbit/s:

scp -l 1000 username@from_host:file.txt /local/directory/

保留文件属性 -p 选项保留原始文件的修改时间、访问时间和模式:

scp -p username@from_host:file.txt /local/directory/

使用 SSH 选项 – 您可以传递其他 SSH 选项(例如 -o)来自定义 SSH 连接。 在本例中,我们使用 ProxyJump 在连接到源主机之前先经过一个跳转主机:

scp -o "ProxyJump user@jump_host" username@from_host:file.txt /local/directory/

静默模式 – -q 选项禁用进度信息和警告/诊断消息,使传输更安静:

scp -q username@from_host:file.txt /local/directory/

用于调试的详细模式 -v 选项启用详细模式,该模式会打印调试消息。 这有助于解决连接和配置问题:

scp -v username@from_host:file.txt /local/directory/

带压缩和 SSH 选项的递归复制 - 此示例结合了多个选项来执行带压缩和自定义 SSH 选项的递归复制:

scp -r -C -o "ProxyJump user@jump_host" username@from_host:/remote/directory/ /local/directory/

3. 注意

  • 请记住,使用高级选项时,必须确保与远程主机的配置和权限的兼容性。 在生产中使用这些选项之前,请务必在安全环境中进行彻底测试。
  • SCP 示例:scp -r root@123.123.123.123:/var/www/html/ /home/hydn/backups/test/ 另请参阅备份解决方案。
  • Host 可以是 IP 或域名。 按回车后,系统将提示您输入 SSH 密码。
  • 尽管本页涵盖 SCP Linux,但这些说明也适用于使用“终端”的 Mac。 您还可以使用 WinSCP 在 Windows PC/服务器上完成此操作。
  • 当将源文件复制到已存在的目标文件时,SCP 将替换目标文件的内容。 所以要小心。

4. SCP选项总结:

  • -r 递归复制整个目录。 请注意,这遵循树遍历中遇到的符号链接。
  • -C 启用压缩。 将 -C 标志传递给 ssh 以启用压缩。
  • -l limit – 限制使用的带宽,以 Kbit/s 为单位指定。
  • -o ssh_option – 可用于以 ssh_config 中使用的格式将选项传递给 ssh。
  • -P port – 指定要连接到远程主机的端口。 请注意,此选项以大写“P”书写。
  • -p 保留原始文件的修改时间、访问时间和模式。
  • -q 安静模式:禁用进度表以及来自 ssh 的警告和诊断消息。
  • -v 详细模式。 打印有关进度的调试消息。 这有助于调试连接、身份验证和配置问题。

文章评论

0条评论