如何在 Linux 中使用 sFTP 上传或下载文件/目录
sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与FTP(文件传输协议)类似。但是,sFTP 比 FTP 更安全;它通过加密的 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 上传/下载整个目录。请使用下面的评论部分向我们提供您对本文/主题的看法。