如何使用 SFTP 协议在本地和远程机器之间传输文件

什么是 SFTP?

简单文件传输协议 (SFTP) 是一种用于通过互联网在两个设备之间传输文件的协议。 它运行在文件传输协议 (FTP) 和安全 Shell (SSH) 协议。

该协议在传输文件的同时,还可以防止密码嗅探、中间人攻击和敏感数据泄露。 它还借助加密和加密哈希函数来保持数据的完整性。 它还在授予访问权限之前对客户端和服务器进行身份验证。 这允许安全地传输文件。

安装指南

在本教程中,我将向您展示如何使用这种超级方便的文件传输协议轻松地在本地和远程计算机之间交换文件。

对于本指南,我使用了 Linux Mint Cinamon 20.02 作为我的本地机器和 Ubuntu 20.04 LTS 作为我的远程机器。

本教程分为两部分。 在第一部分中,您将了解如何将文件从远程计算机传输到本地计算机。 在另一部分,您将了解如何将文件从本地计算机传输到远程计算机。

让我们开始吧!

将文件从远程机器传输到本地机器

第 1 步:SSH 到远程机器

第一步是与远程计算机建立 SSH 连接。 为此,首先,使用以下命令成为超级用户:

sudo -i

现在您已经成为超级用户,可以通过 ssh 连接到您要与之通信的远程计算机以获取该文件。

ssh [email protected]

第 2 步:找到要传输的文件

然后,找到要复制的文件。 在本教程中,我将创建一个新文件以将其传输到我的本地计算机。

为此,我将通过运行以下命令转到 /etc 目录:

cd /etc

在 touch 命令的帮助下,我将创建一个名为 transfer.txt 的新文件。

touch transfer.txt

第三步:与远程机器建立SFTP连接

现在,我们将使用 sftp 连接到远程机器,如下所示:

sftp [email protected]

如果你看到 sftp 是这样写的,那说明你处于 sftp 模式。 现在本地和远程机器可以使用这个协议交换文件。

第 4 步:检查 sftp 与哪些目录交互

在继续传输文件之前,让我们浏览一下以了解 sftp 与哪些目录交互。 运行以下命令以了解您当前的工作目录:

pwd

要查看本地机器的当前工作目录,我们将使用:

lpwd

我们还可以更改要与之交互的目录。 它包含在本指南的第二部分中。

第 5 步:传输文件

让我们转到创建 transfer.txt 文件的 /etc 目录。

cd /etc

要将文件从远程机器发送到本地机器,我们使用 get 命令后跟文件名,如下所示:

get transfer.txt

现在使用以下命令进入本地系统的根目录:

cd ~

使用 ls 查看目录中的所有文件。

如您所见,transfer.txt 文件现在位于我们的本地计算机中。

关闭 sftp 会话后,您可以将文件从根目录传输到计算机上的任何其他文件夹。

将文件从本地机器传输到远程机器

现在我们已经了解了如何将文件从远程机器传输到本地机器,让我们看看如何从相反的方向进行。

我们在本地机器上的以下目录路径中有另一个文件 test.txt:

/home/azifa/Downloads/folder

从这里我们将把它传输到我们的远程机器。

第 1 步:使用 SFTP 连接到远程计算机

sftp [email protected]

第二步:更改sftp交互的本地目录

本地当前工作目录是:

lpwd

正如我之前告诉您的,我们可以更改我们希望 sftp 与之交互的本地目录。 为此,请使用 lcd 命令:

 lcd /home/azifa/Downloads/folder

在此之前,sftp 与本地计算机的根目录进行交互。 现在它将与 /home/azifa/Downloads/folder 目录交互。 您可以使用以下命令确认它:

lpwd

第 4 步:传输文件

接下来,我们使用 put 命令将文件从本地机器传输到远程机器。

运行 ls 命令查看文件是否已成功传输到远程机器的 /home 目录中。

ls

是的,我们传输的文件在远程机器上。

现在您可以使用简单的 bye 命令结束会话。

bye

在本文中,我向您解释了在称为 SFTP 的文件传输协议的帮助下如何轻松地在远程计算机和本地计算机之间传输文件。 使用此方法,您可以安全地交换大文件,因为它是一种加密数据以进行保护的安全协议。

查看如何设置 ProFTPD 服务器 Linux 薄荷 20,访问:

Install ProFTPD on Linux Mint 20