网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

如何使用SFTP来传输文件?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

SFTP(安全文件传输协议)或者,SSH(安全外壳)文件传输协议是一种用于在客户端和服务器之间传输文件的协议。它使用SSH技术,因此也被称为安全套接字外壳文件传输协议。该协议能够为远程服务器提供安全的访问方式,从而实现文件的可靠传输。

Secure FTP的出现,正是为了满足对隧道传输方式的安全性进行提升的需求。 它使用Secure Shell 2(SSH2)来创建安全的隧道,同时模拟FTP连接,从而提供一个适合防火墙使用的加密通道,以便通过常用的TCP端口22来传输文件。 SSH提供了更高的安全性,因为它能够完全加密整个文件传输过程,包括所有与会话相关的控制命令。同时,只需要在一个端口上开启防火墙即可,而传统的FTP和SSL连接则需要打开两个端口。

SFTP使用SSH协议来传输文件。首先,你需要配置好SSH服务。为了确认是否已经配置了SSH,请在你的服务器上执行以下操作:

$ ssh geeksforgeeks@your_server_ip_or_remote_hostname.

请更换“Geeksforgeeks”以及您的用户名“your_server_ip_or_remote_hostname”可以使用您的服务器IP地址或主机名来标识自己。

如果这种方法有效,并且你已成功登录,那么就可以正常使用了。如果没有成功,那么你需要先设置SSH访问权限。

然后,从命令提示符窗口中退出。

$ exit

建立SFTP会话:
我们可以使用以下命令来连接到 SFTP 会话。

$ sftp geeksforgeeks@your_server_ip_or_remote_hostname

此命令会将您连接到远程会话中,此时提示符会变为 SFTP 提示符。

如果您使用的是自定义的SSH端口(而不是默认的22端口),那么可以使用以下命令来连接SFTP。

$ sftp -oPort=customport geeksforgeeks@your_server_ip_or_remote_hostname.

在这里,进行更改/调整“customport”请使用您所指定的端口号。这条命令将会让您连接到您所指定的SFTP服务器。

使用SFTP传输文件:

将远程文件传输到本地系统——
如果我们想要从远程主机传输文件,可以使用以下命令来实现。

sftp> get remote-file
Output
Fetching home/geeksforgeeks/remote-file to remote-file
/home/geeksforgeeks/remote-file                       100%   40KB  39.8KB/s   00:05

在这里,远程文件的名称就是您想要传输的文件的名称。get命令将会下载这些文件。“远程文件”在你的本地系统中,使用的名称与服务器上的名称相同。

我们可以下载这些文件。远程文件可以通过在远程文件名称后指定名称,来使用与我们的机器不同的远程主机。

sftp> get remote-file local-file

`get`命令也可以接受一些作为选项的标志。例如,如果我们想要复制一个包含其所有内容的目录,就可以使用这个命令。“-r”递归标志。

sftp> get -r some-directory

2. 将本地文件传输到远程系统——
通过使用该方法,可以将文件从本地系统传输到远程系统。这一过程相当简单。放置/安置命令/指令

sftp> put localFile
Output
Uploading local-file to /home/geeksforgeeks/local-file
local-file                                     100% 7607     7.4KB/s   00:00

放置/安置可以使用与之前相同的选项标志。获得/得到因此,要复制整个目录,就可以使用其中的所有文件。

sftp> put -r local-directory

结论:
SFTP是一种更有效的方式,它利用FTP或SCP的强大功能来实现本地文件和文件夹与远程文件之间的传输。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料