SFTP 使用什么端口? | WPOven

已发表: 2024-08-09

目录
什么是 SFTP?
什么是 SFTP 端口?
什么时候需要使用SFTP端口?
如何在 Linux 中查看 SFTP 端口?
如何更改 SFTP 端口?
SFTP 端口比 FTP 更好吗?
SFTP 和 FTP 之间的区别
关于 SFTP 的小故事
SFTP 如何工作?
是否可以使用 FTP 端口号进行 SFTP?
结论

什么是 SFTP?

SFTP(即 SSH 文件传输协议)是一种建立在 SSH(安全外壳)传输层之上的网络协议,可在互联网上提供安全的大量文件或敏感数据传输功能。与标准 FTP(文件传输协议)不同,SFTP 对命令和数据通道进行加密,确保密码和数据不会以明文形式传输。


什么是 SFTP 端口?

就像任何端口一样,SFTP 也需要一个特定的端口来通过它执行所有数据传输操作,为此,它使用默认端口号 22 。这与 SSH 使用的端口号相同。

Secure Port Transfer Protocol
安全端口传输协议

因此,使用相同的端口,可以帮助 SFTP 建立安全且加密的通信通道,以通过互联网传输敏感数据。此 SFTP 端口有助于确保数据传输免受篡改和窃听,使其成为大量数据传输的非常安全的方法。


阅读: SMTP 端口 25、465、587、2525:我应该使用哪个端口?


什么时候需要使用SFTP端口?

当您需要使用SFTP服务时,需要配置SFTP端口。特别是如果您使用 FileZilla 或 WinSCP 等 SFTP 客户端,则需要输入端口号。这同样适用于 Windows、Linux 或 Mac 上的命令行工具。

如何使用它?

您很可能不需要使用它,因为大多数 SFTP 服务默认使用端口号 22,如果您的服务使用此特定端口,则无需提及它。

但是,如果您的 SFTP 服务使用不同的端口(例如端口 2222),则需要将其包含在命令中。

什么时候需要指定或输入端口号?

  • 非标准端口:如果SFTP服务使用22以外的端口,您需要在连接命令中指定它。
  • 设置应用程序:将应用程序连接到 SFTP 服务时,您需要知道端口号。
  • 服务器到服务器传输:在服务器之间设置文件传输时,如果其他服务器使用 SFTP,则需要端口号。

网络解决方案(防火墙或 NAT)

  • 如果您必须允许 SFTP 连接通过防火墙或网络地址转换 (NAT) 设备,则需要打开正确的端口号。
  • 示例:要允许 SFTP 连接穿过防火墙,您可能需要在防火墙上打开端口 22。

WPOven Dedicated Hosting

如何在 Linux 中查看 SFTP 端口?

只需使用命令行工具并输入以下Linux命令,即可轻松检查Linux中的SFTP端口:

sudo netstat -tuln | grep ssh

输出将显示 TCP 和 UDP 端口的完整列表及其各自的地址和名称。


如何更改 SFTP 端口?

虽然,我们强烈不建议您使用 SFTP 端口 22 之外的任何其他端口。但如果您仍然想要,可以通过修改 SSH 服务器配置文件(即sshd_config )轻松完成。为此,请按照以下步骤操作:

在 Linux 中更改 SFTP 端口

  • 转到最有可能位于 C:\ 驱动器的“/etc/ssh”目录中的文件。
  • 要打开 sshd_config 文件,您必须使用 nano 或基于 Linux 的文本编辑器工具
  • 现在查找包含“Port 22”的行并将其更改为您所需的端口号。
  • 保存更改并重新启动 SSH 服务器。
  • 重新启动您的 SSH 服务器。

对于目录“/etc/ssh”中的 sshd_config 文件,您必须使用 nano、vi 或某些基于 Linux 的文本编辑器。

在 Windows 中更改 SFTP 端口

步骤与 Linux 类似,唯一的区别是您必须在“C:\ProgramData\ssh\”或“C:\Program Files\OpenSSH\”中找到 sshd_config。

找到它后,使用任何文本编辑器工具(即记事本或文本编辑器)打开它,将端口 22 更改为您选择的任何所需端口,保存更改,然后重新启动 SSH 服务器。


阅读:什么是 DNS 端口 |端口 53 UDP/TCP 工作


SFTP 端口比 FTP 更好吗?

简而言之,SFTP 端口比 FTP 好得多。这是因为 SFTP 仅使用单个端口(即端口 22)来执行其所有活动,无论是传输命令还是数据。另外,它非常易于使用和管理,特别是在严格的防火墙规则下。

而 FTP 使用两种类型的通道进行数据传输。一个是命令通道,另一个是数据通道。

命令通道始终使用端口 21 发送命令和接收响应。然而,数据通道需要动态打开的附加端口来发送和接收文件。客户端和服务器会动态决定这些端口,但这需要在防火墙上打开许多端口,这使得管理变得复杂。

为什么 SFTP 更容易?

  • 单端口:由于SFTP仅使用一个端口(端口22),因此您只需在防火墙中打开一个端口,使其更简单、更安全。
  • 更少的配置:无需管理多个端口,减少麻烦和潜在的安全风险。

为什么FTP很复杂?

  • 多个端口:FTP需要打开多个端口,这对于配置和维护来说是一件令人头疼的事情。
  • 动态端口打开:FTP 动态打开额外的端口用于数据传输,这些端口可能会被严格的防火墙阻止,从而导致问题。

简而言之,SFTP 更适合防火墙,因为它只使用一个端口,与需要多个端口的 FTP 相比,它更简单、更安全。


SFTP 和 FTP 之间的区别

下表总结了 SFTP 与 FTPS 之间的差异:

特征SFTP(SSH 文件传输协议) FTPS(FTP 安全/FTP-SSL)
底层协议SSH(安全外壳)带有 SSL/TLS 的 FTP(文件传输协议)
默认端口22 号21(控制)和附加端口(数据)
防火墙配置简单(单端口)复杂(多个端口)
安全始终加密加密可选(SSL/TLS)
验证SSH 密钥,基于密码X.509 证书、用户名/密码
数据传输模式二进制模式二进制和 ASCII 模式
执行通常包含在 SSH 客户端/服务器中基于 FTP 构建,需要 SSL/TLS 支持
使用方便更易于使用和管理由于多个端口,熟悉但更复杂
常见用例Unix/Linux 环境中的安全文件传输需要向后兼容 FTP 的环境

关于 SFTP 的小故事

早些时候,通过互联网共享文件并不安全可靠,为了解决这个问题,IETF 或互联网工程任务组创建了一种称为 SSH(安全外壳)的东西,使文件共享更加安全和轻松。

SSH 彻底改变了文件共享过程,它就像一个超级强大的文件密码箱,可以在传输过程中保护它们。

看到这项技术的成功,在 1997-1998 年,一个名叫 Taty Ylonen 的聪明人想出了一个想法,使用 SSH 技术来安全地传输文件。为此,他创建了 SFTP(安全文件传输协议)来与 SSH 2.0 配合使用,并且他没有创建新端口,而是使用了相同的 SSH 端口。

Tatu 还在 SSH 密钥管理方面做了大量工作,其中包括确保只有合适的人才能打开密码箱。这使得 SFTP 在安全传输文件方面非常可靠。

随着时间的推移,网络威胁和黑客攻击急剧增加,为了解决这个问题,开发人员更新了 SFTP,提供了更好的数据加密,改进了错误处理并添加了文件锁定和重命名等新功能。这些增强功能和添加内容有助于 SFTP pe 变得更加安全和有用。

因此,SFTP 越来越受欢迎,并被特别处理敏感数据的企业广泛使用。

这种情况尚未停止,由于互联网技术的进步和在线威胁的不断变化,SFTP 仍将是安全数据/文件传输的重要工具。


SFTP 如何工作?

让我们看看完整的 SFTP 流程以及在计算机和远程服务器之间传输文件所涉及的 SFTP 端口使用情况。

How SFTP Works
SFTP 的工作原理

步骤1:首先,要将文件从您的计算机传输到远程服务器,我们需要有一个SFTP客户端,即FileZilla或scp或SFTP等命令行工具,这是一个允许您连接到SFTP的软件应用程序服务器并管理您的文件。

步骤 2:现在打开 SFTP 客户端并连接到服务器。为此,输入服务器地址,其形式可以是 IP 地址或您的网站域名、端口(SFTP 通常为 22)、用户名和密码,或者指定您的 SSG 密钥进行身份验证。

但是,如果您使用命令行 SFTP 工具,则需要输入sftp [email protected]等命令。

步骤3:第三步是身份验证,当您连接到服务器时,如果客户端尚未保存密码,则会要求您输入密码。如果提供的凭据正确,服务器将授予您访问权限。

对于 SSH 密钥,您需要本地计算机上的私钥和服务器上相应的公钥。如果您提供了正确的 SSH 密钥,服务器将自动验证您的连接,而无需询问密码。

步骤4:现在成功连接到服务器并进行身份验证后,就可以传输文件了。在 SFTP 客户端中,您可以轻松地从计算机拖放到客户端窗口,然后从那里上传到服务器。

但在命令行工具中,您必须使用诸如put filename之类的命令来上传文件。

要下载文件,您可以选择 SFTP 客户端窗口中反映的服务器上的文件,然后选择将它们下载到您的计算机的选项。

对于命令行工具,请使用get filename等命令来下载文件。

此外,您还可以使用客户端界面或类似于文件管理器或 Linux shell 中的命令对文件执行其他多种操作,例如重命名、删除或移动文件。

第 5 步:现在客户端和服务器之间传输的所有数据都将使用 SSH 进行加密和保护。这意味着没有人可以拦截和读取您的文件。


是否可以使用 FTP 端口号进行 SFTP?

简而言之,是的,可以使用 FTP 端口号进行 SFTP。标准 FTP 的默认端口号是 21,但强烈建议不要将其用于 SFTP。

它不像 SFTP 那样安全,并且可能会让用户感到困惑,从而导致专门设计用于在端口 22 上连接到 SFTP 的应用程序出现问题。

此外,端口 21 是为 FTP 保留的,将其用于 SFTP 可能会导致连接问题和互操作性。

因此,您应该坚持使用 SFTP 的标准端口 22 以避免这些复杂情况。


结论

简而言之,SFTP是结合SSH和FTP技术构建的文件传输协议。它是通过 Internet 传输文件的最安全方法之一,使用默认端口 22 进行加密通信。

虽然在技术上可以使用其他端口进行 SFTP,例如端口 21 或端口 2222,但由于不兼容和安全问题等严重后果,通常不鼓励这样做。

尽管SFTP在22端口上有优势,但它仍然容易受到攻击。但是,您可以选择不同的端口来增强安全性并确保安全的数据传输。