在 Linux 中使用 sFTP 上传或下载文件与文件夹

Posted 0227-yyds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Linux 中使用 sFTP 上传或下载文件与文件夹相关的知识,希望对你有一定的参考价值。

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

它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩。 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令

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

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

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

要连接到远程 sftp 服务器,如下建立一个安全 SSH 连接并创建 SFTP 会话:

$ sftp tecmint@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

如何使用 sFTP 上传文件夹

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

因此,首先在远程主机上创建一个具有相同名称的目录,然后从本地主机上传它,-r参数允许拷贝子目录和子文件:

sftp> put -r  Tecmint.com-articles
sftp> mkdir Tecmint.com-articles
sftp> put -r Tecmint.com-articles


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

sftp> put -pr Tecmint.com-articles
如何使用 sFTP 下载文件夹

要从远程 Linux 主机下载整个 fstools-0.0 文件夹到本机中,如下所示使用 get 命令带上-r标志:

sftp> get -r fstools-0.0

使用 sFTP 下载目录

如果文件夹已经下载完成了,接着查看本机的工作目录。

要退出 sFTP shell,输入:

sftp> bye或者sftp> exit

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

就是这样了!在本文中,我们向你展示了如何使用 sFTP 上传/下载整个目录。

 

Linux与Mac通信

1 Mac使用终端连接Linux远程服务器

ssh -p 22 root@192.168.1.77

2 Linux服务器文件的上传与下载

2-1 建立sftp文件传输

sftp wangsiyu@192.168.1.66
然后输入密码即可连接

2-2 上传文件

put 本地文件位置 Linux要上传的文件位置

2-3 下载文件

get Linux上文件位置 要下载的文件位置


以上是关于在 Linux 中使用 sFTP 上传或下载文件与文件夹的主要内容,如果未能解决你的问题,请参考以下文章

SFTP文件上传与下载(window 上传文件到linux服务器)

我的代码库-Java8实现FTP与SFTP文件上传下载

如何使用AspUpload组件上传文件

SpringBoot + SFTP 实现文件上传与下载实战

SFTP上传下载文件

转: window中使用PSFTP/WinSCP实现SFTP上传下载