网站搜索

如何在 Linux 中使用 sFTP 上传或下载文件/目录


sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与FTP文件传输协议)类似。但是,sFTPFTP 更安全;它通过加密的 SSH 传输处理所有操作。

可以将其配置为使用多种有用的 SSH 功能,例如公钥身份验证和压缩。它连接并登录到指定的远程计算机,并切换到交互式命令模式,用户可以在其中执行各种命令。

在本文中,我们将向您展示如何使用 sFTP 上传/下载整个目录(包括其子目录和子文件)。

如何在 Linux 中使用 sFTP 传输文件/目录

默认情况下,SFTP 采用相同的 SSH 传输来建立与远程服务器的安全连接。虽然与默认 SSH 设置类似,使用密码来验证用户身份,但建议创建并使用 SSH 无密码登录,以简化且更安全地连接到远程主机。

安全连接到远程 FTP 服务器

要连接到远程 sftp 服务器,请首先建立安全的 SSH 连接,然后创建 SFTP 会话,如下所示。

sftp [email 

登录远程主机后,您可以运行交互式 sFTP 命令,如下例所示:

sftp> ls			#list directory 
sftp> pwd			#print working directory on remote host
sftp> lpwd			#print working directory on local host
sftp> mkdir uploads		#create a new directory

如何使用 sFTP 上传目录

要将整个目录上传到远程 Linux 主机,请使用 put 命令。但是,如果远程主机上的工作目录中不存在该目录名称,您将收到错误消息,如下图所示。

因此,首先在远程主机上创建一个同名的目录,然后再从本地主机上传它,-r会发挥作用,使子目录和子文件也能被复制:

sftp> put -r  linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles

要保留传输的原始文件的修改时间、访问时间和模式,请使用 -p 标志。

sftp> put -pr linux-console.net-articles

如何使用 sFTP 下载目录

要将名为 fstools-0.0 的整个目录从远程 Linux 主机下载到本地计算机,请使用带有 -r 标志的 get 命令,如下所示:

sftp> get -r fstools-0.0

然后检查本地主机上的当前工作目录,是否已下载该目录及其中的所有内容。

要退出 sFTP shell,请输入:

sftp> bye
OR
sftp> exit

此外,请仔细阅读 sFTP 命令和使用提示。

请注意,为了防止用户访问远程主机上的整个文件系统,出于安全原因,您可以使用 chroot Jail 将 sFTP 用户限制在其主目录中。

就是这样!在本文中,我们向您展示了如何使用 sFTP 上传/下载整个目录。请使用下面的评论部分向我们提供您对本文/主题的看法。