盈彩体育注册(中国)有限公司
盈彩体育注册(中国)有限公司 您所在的位置:网站首页 盈彩体育注册(中国)有限公司 如何在 Linux 中使用 sftp 命令

如何在 Linux 中使用 sftp 命令

2024-05-05 21:12:29| 来源: 网络整理

如何在 Linux 中使用 sftp 命令

本教程介绍如何在 Linux 中通过 sftp 协议连接和传输文件,以及如何通过实施安全措施来确保安全。

sftp命令对于每个网络用户(包括国内用户)来说是最有用的工具之一。该命令也可以在 Windows 系统中实现,这使其对每种网络类型都有吸引力。

这是在计算机之间安全共享文件的主要命令行工具之一。此外,为了下载和上传文件和目录,用户可以远程更改权限、删除和重命名文件等。

SFTP 这个命令肯定会改善命令行的网络体验。

阅读本文并应用示例(也可以在虚拟机中重现)后,读者将了解如何配置 Linux 系统以交互模式和命令行方式使用 sftp 命令传输文件。

内容适用于所有 Linux 发行版,并包含真实场景屏幕截图,使所有读者能够轻松理解如何独立于之前的知识水平应用命令。

sftp 简介

以前,FTP(文件传输协议)是在客户端和服务器之间或两个网络设备之间传输文件的唯一方法。

用户过去从 FTP 服务器上传所有下载文件,并具有在允许的目录上读写的权限。

但 FTP 协议遭受了高风险漏洞,并被更新、更安全的协议所取代。两个众所周知的例子是 SCP(安全复制协议)和 SFTP(安全文件传输协议)。 SFTP 是 FTP 协议最流行的替代品之一。

与 FTP 一样,SFTP 可以通过交互式文本模式或执行单个命令来使用。本教程解释了这两种技术。

使用 sftp 的先前要求

sftp 协议要求在您要从中下载文件或向其中上传文件的服务器上安装并运行 ssh(安全外壳)。

如果您的服务器已经运行 ssh,您可以跳到下一个 sftp 部分。

在基于 Debian 的 Linux 发行版上,可以使用 apt 包管理器安装 ssh,如下面的屏幕截图所示。

sudo apt install ssh

在基于 RedHat 的 Linux 发行版上,可以通过执行以下命令来安装 ssh:

dnf install openssh-server

安装后,在要连接的服务器上,使用 systemctl 命令启动服务,如下所示(基于 Debian 的发行版)。

sudo systemctl start ssh

要在基于 RedHat 的发行版上启动 ssh 服务,请运行:

sudo systemctl start sshd如何在交互模式下使用sftp

本节介绍sftp交互模式的使用。

在出现 sftp 命令提示符之前,访问 sftp 服务器所要执行的唯一命令是连接请求,其语法与 ssh 类似和SCP。

下面的示例描述了正确的语法,其中 User> 必须替换为服务器上的现有用户,ServerIP> 必须替换为服务器主机或 IP 地址。

sftp @

在下面的屏幕截图中,本地用户 linux-hint3 作为远程用户 linux-console 连接到 IP 地址为 192.168.0.103 的服务器。

sftp linux-console@192.168.0.103

用户第一次连接到服务器时,将被要求确认连接。用户必须输入“yes”,按ENTER并填写密码。

用户连接后,服务器将返回 sftp> 命令提示符,用户可以在其中执行 sftp 命令。

sftp交互模式允许用户与本地和远程系统交互。

正常的 Linux 命令对服务器有影响。以“l”开头的命令在本地系统中执行。

例如,如果用户执行pwd命令,则会显示远程当前工作目录。但如果用户运行lpwd,它将显示本地当前目录。

默认情况下,本地远程目录是远程用户的主目录,但以下示例中远程用户没有主目录的情况除外。

在下面的屏幕截图中,执行pwd命令来显示远程当前工作目录。

pwd

然后执行lpwd来显示本地当前工作目录。

lpwd

正如您在上面的屏幕截图中看到的,远程当前工作目录是根目录(因为 linux-console4 远程用户用户没有主目录),本地工作目录是本地主目录。

如果用户运行ls(列表)命令,它将显示当前工作目录中的远程文件和目录。

ls

通过执行lls(本地列表),该命令将显示本地当前工作目录中的文件和目录。

使用cd(更改目录)命令,用户可以在远程目录之间移动。使用lcd(本地更改目录)命令,用户可以在本地目录之间移动,如下图所示。

从服务器下载文件的语法如下:

get

或者

get

在下面的示例中,用户下载名为 file10 的文件,然后运行 lls(本地列表)以确认文件已正确下载。

get file10

要下载目录,除了 -r 标志之外,语法几乎相同,如下所示。

get -r

或者

get -r

在下面的示例中,用户下载名为 Directory1 的目录。

get -r Directory1

要上传文件,语法如下:

put

在下面的实际示例中,用户上传名为 file> 的文件

要上传目录,只需添加 -r 标志。

Put -r

或者

put -r

用户还可以使用相同的 Linux 命令远程删除文件。例如,要删除文件,只需运行:

rm

要删除目录,请添加 -r 标志,如下所示。

Rm -r

df -h 命令可用于显示服务器总空间、已用空间和可用空间。

df -h

用户还可以使用 chmod 命令更改文件和目录权限,如下例所示。

Chmod +/-

要退出交互模式,请运行exit。

Exit

退出 sftp 会话的另一种方法是使用 bye 命令。

Bye通过单个命令使用 sftp

此外,对于交互模式,sftp 可以与单个命令一起使用。本节介绍如何在没有事先连接到交互模式的情况下下载和上传文件。

下载文件的语法如下:

sftp @:

在下面的示例中,用户以 linux-console5 用户身份登录,并将 targets.txt 远程文件下载到由句点表示的本地目录。

sftp linux-console5@192.168.0.103:targets.txt .

在下面的实际示例中,用户将位于远程 testdir/ 子目录中名为 something2.txt 的文件下载到本地 Desktop/ 子目录。

sftp linux-console@192.168.0.103:testdir/something2.txt ~/Desktop

如下例所示,通过添加-r标志,用户可以递归下载目录。在以下示例中,用户将 testdir/ 目录下载到本地 Desktop/ 目录。

sftp -r linux-console@192.168.0.103:testdir/ ~/Desktop

要通过使用 sftp 执行单个命令来上传文件,请应用以下语法。

sftp  @:


【本文地址】 转载请注明 

最新文章

推荐文章

CopyRight 2018-2019 盈彩体育注册(中国)有限公司 版权所有 豫ICP备16040606号-1