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

在本文中,我们将向您展示如何使用Linux中的sFTP将本地目录上传到远程Linux服务器或将远程目录下载到本地计算机。

sFTP(安全文件传输程序)是一种安全和交互式文件传输程序,其工作方式与FTP文件传输协议 )类似。 然而, sFTPFTP更安全;它处理加密的SSH传输上的所有操作。 它可以配置为使用几个有用的SSH功能,如公钥认证和压缩。它连接并登录到指定的远程机器,并切换到交互式命令模式,在该模式下用户可以执行各种命令。 在本文中,我们将向您展示如何使用sFTP上传/下载整个目录(包括其子目录和子文件)。

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

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

连接到远程FTP服务器

要连接到远程sftp服务器,请首先建立安全的SSH连接,然后如图所示创建SFTP会话。
$ sftp howtoing@192.168.56.10
一旦登录到远程主机,就可以运行交互式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
在远程Linux上运行sFTP命令

在远程Linux上运行sFTP命令

如何使用sFTP上传目录

为了将整个目录上传到远程Linux主机,请使用put命令。但是,如果目录名称不存在于远程主机上的工作目录中,您将收到错误,如下面的屏幕截图所示。 因此,首先在远程主机上创建一个具有相同名称的目录,然后从本地主机上传它, -r执行魔法,启用子目录和子文件也被复制:
sftp> put -r  Howtoing.com-articles
sftp> mkdir Howtoing.com-articles
sftp> put -r Howtoing.com-articles
使用SFTP上传目录

使用SFTP上传目录

要保留从传输的原始文件的修改时间,访问时间和模式,请使用-p标志。
sftp> put -pr Howtoing.com-articles

如何使用sFTP下载目录

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

使用sFTP下载目录

然后检查本地主机上的当前工作目录,如果下载的目录中包含其中的所有内容。 到相当的sFTP shell,键入:
sftp> bye
OR
sftp> exit
另外,阅读sFTP命令和使用提示 。 请注意,为了防止用户访问远程主机上的整个文件系统,出于安全原因,您可以使用chroot Jail 将sFTP用户限制到其主目录 。 而已!在本文中,我们向您展示了如何使用sFTP上传/下载整个目录。使用下面的评论部分向我们提供您对本文/主题的看法。