linux使用SFTP安全的传输文件

2022-06-02 17:51:20 浏览数 (1)

什么是 SFTP

SFTP 代表 Secure File Transfer Protocol. S有时也代表 SSH(或 Secure Shell),它是文件传输服务运行的安全加密隧道。

SFTP 是一种通过远程系统安全传输文件的流行方法。该sftp命令通常是 OpenSSH 包的一部分。它被设计为 SSH v2.0 的扩展,以增强 安全文件传输功能。该sftp命令行界面被设计为类似于ftp命令。

FTP和SFTP有什么区别

与传统的 FTP 协议相比,SFTP 提供了 FTP 的所有功能,但更安全,更易于配置。与 FTP 不同,SFTP 使用单个数据和控制通道。在两台计算机之间共享信息之前,SFTP 会验证客户端的身份,一旦建立安全连接,它就会发送加密信息。

SCP和SFTP有什么区别

SCP 只能用于传输文件,并且它是非交互的。SFTP 更复杂,允许交互式命令执行诸如创建目录、删除目录和文件等操作。

如何使用 SFTP 命令

你可以连接到客户端提到的 SFTP,例如 FileZilla,否则可以使用基本命令在命令行界面中使用它。

SFTP 还提供了多种方法来完成连接的身份验证,例如用户名和密码、SSH 密钥或这些的组合。

SFTP 默认使用端口 22,这是 SSH 的默认端口。它基本上是 SSH 的一个子系统,支持所有 SSH 认证机制。

建立 SFTP 连接

你可以在运行 Linux 的系统上或从 macOS 终端使用命令行 SFTP。

代码语言:javascript复制
sftp [REMOTE_USER]@[REMOTE_SERVER]

例如,如果你的用户名是 rumenz,要连接到你在主机上的帐户 rumenz.com,请输入:

代码语言:javascript复制
sftp rumenz@rumenz.com

出现提示时输入你的密码。如果一切按预期进行,你将看到 sftp 提示,你可以开始与远程服务器交互。

代码语言:javascript复制
Connected to rumenz.com.
sftp>

SFTP 到 22 以外的端口

如果远程 SSH 服务器使用自定义 SSH 端口(不是默认端口 22),请使用该-P选项指定 SFTP 端口。

代码语言:javascript复制
sftp -P 2222 rumenz@rumenz.com

有用的 SFTP 命令

如果你需要快速备忘单,这里是所有可用 SFTP 命令的列表。只需输入help? 命令,你就可以自己找到此列表 。

代码语言:javascript复制
更改远程主机上的目录。

使用 SFTP 命令传输文件

SFTP 允许你在两台机器之间安全地传输文件。

To download a single file从远程服务器,使用 get 命令:

代码语言:javascript复制
sftp> get website-logo.jpg
代码语言:javascript复制
Fetching /home/rumenz/website-logo.jpg
/home/rumenz/website-logo.jpg        100%  11KB  17KB/s  00:00

To download a directory从远程系统,使用-r (递归)选项。

sftp> get -r images/

To upload a file从本地机器到远程SFTP服务器,使用 put 命令:

代码语言:javascript复制
sftp> put website-logo.jpg
代码语言:javascript复制
Uploading website-logo.jpg to /home/rumenz/website-logo.jpg
dogtoman-tmp-logo.png              100%  11KB  24KB/s  00:00

To upload a local directory 到远程 SFTP 服务器:

sftp> put -r images/

当然,你可以试验上表中显示的任何 SFTP 命令。

完成工作后,键入 关闭连接exit

0 人点赞