Linux/ubuntu 如何使用 SCP 和 SFTP 安全传输文件

本文章向大家介绍Linux如何使用 SCP 和 SFTP 安全传输文件,主要内容包括使用 SCP 复制文件、使用 SFTP 复制文件、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
通过使用基于 SSH 的身份验证,SFTP 和 SCP 是在系统之间安全地移动文件的便捷命令。

在系统之间移动文件是 Linux 系统管理员的常规操作之一,通过网络传输数据时,一个重要的考虑因素是您使用的介质的安全性。

SFTP(安全文件传输协议)和 SCP(安全复制)是在系统之间安全移动文件的便捷命令。作为 OpenSSH 套件的一部分,这些工具依靠安全外壳 (SSH)来传输文件,这意味着它们使用相同的身份验证并提供与 SSH 相同的安全性。

使用 SCP 复制文件

要使用 SCP 传输文件,请指定远程服务器的 IP 地址或主机名以及您希望它复制文件或目录的目标路径,对 SCP 使用与 SSH 相同的用户名和凭据。不需要其他凭据。

如果该文件已存在于目的地,SCP 将替换或覆盖该内容。为目标路径使用绝对路径名也是明智之举。

要使用命令传输文件scp,请使用以下语法:

shell 复制代码
$ scp file1 user@192.268.1.3:/home/user

file1此示例在本地服务器上复制到/home/user/位于 192.168.1.3 的远程服务器上。

在 SSH 服务器使用不同端口(例如 2390)的情况下,复制文件的命令如下所示:

shell 复制代码
$ scp -P 2390 file1 user@192.268.1.3:/home/user

注意:-P是大写而不是小写-p (与使用 SSH 时一样)。

如果公钥和私钥存储在非标准位置,则需要指定它们的路径,例如,如果私钥存储在/home/keys/id_rsa,则命令为:

shell 复制代码
$ scp -i /home/keys/id_rsa -P 2390 file1 user@192.268.1.3:/home/user

也可以使用-r参数复制目录。要复制名为 的目录backup,请使用:

shell 复制代码
$ scp -r backup user@192.268.1.3:/opt/

命令将整个backup目录复制到/opt/backup. 请注意,您需要确保与您连接的用户有权执行您想要执行的操作。

使用 SFTP 复制文件

SFTP 是一个安全的文件传输程序,它也依赖于 SSH 并且是交互式的。该工具类似于 FTP,但它使用 SSH 端口 22。

当您启动 SFTP 连接时,它会连接到其目的地并在远程服务器上进入交互模式。然后,您可以使用 get 等命令put传输cd文件 rmdir。

要建立 SFTP 连接,请使用:

shell 复制代码
$ sftp user@192.168.1.3

您应该有一个类似于以下的命令提示符:

shell 复制代码
sftp>

如果 SSH 在备用端口上运行,请使用:

shell 复制代码
$ sftp -oPort=2390 user@192.168.1.3

使用无密码连接时,如果私钥名称不同或存储在与默认位置不同的位置,请使用:

shell 复制代码
$ sftp -o IdentityFile=~/.ssh/id_rsa_key user@192.168.1.3

上面的例子使用 192.168.1.3 的私钥连接到 192.168.1.3 ~/.ssh/id_rsa_key。

如果要将文件/etc/resolv.conf文件传输到/etc远程服务器上怎么办?在这种情况下,请使用:

shell 复制代码
$ sftp user@192.168.1.3
sftp> cd /etc
sftp> put /etc/resolv.conf 

要将远程服务器命名的文件下载/opt/user_list到本地系统,请执行以下操作:

shell 复制代码
$ sftp user@192.168.1.3
sftp> cd /opt 
sftp> get user_list

您可以使用该-r参数上传和下载目录。

要上传目录,请使用:

shell 复制代码
sftp> put -r  new_folder 

要下载目录,请使用:

shell 复制代码
sftp> get -r  folder_from_remoteserver

有关其他选项,请使用该sftp --help命令或通过键入来查阅手册页man sftp。

总结

使用安全文件复制命令(例如scp和sftp)是网络强化和一般安全计划的重要组成部分,这些命令很简单,并且依赖于熟悉且值得信赖的 SSH 实用程序。

相关推荐
风间琉璃""12 分钟前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
dot.Net安全矩阵1 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互
我的K84091 小时前
Flink整合Hudi及使用
linux·服务器·flink
1900431 小时前
linux6:常见命令介绍
linux·运维·服务器
Camellia-Echo1 小时前
【Linux从青铜到王者】Linux进程间通信(一)——待完善
linux·运维·服务器
Linux运维日记2 小时前
k8s1.31版本最新版本集群使用容器镜像仓库Harbor
linux·docker·云原生·容器·kubernetes
我是唐青枫2 小时前
Linux dnf 包管理工具使用教程
linux·运维·服务器
Hacker_Oldv2 小时前
网络安全的学习路线
学习·安全·web安全
黑客Ash2 小时前
计算机中的网络安全
网络·安全·web安全
云卓SKYDROID2 小时前
无人机的激光雷达避障系统阐述!
科技·安全·无人机·云卓科技·激光雷达避障系统