Linux 如何更改SSH端口

Linux 如何更改SSH端口

介绍

安全外壳协议(SSH)是一种在Linux系统中提供安全信道的协议,它常用于远程登录、文件传输以及安全地在远程机器上执行命令。对于远程访问Linux机器的系统管理员、开发人员和用户来说,SSH是一个必备的工具。

检查当前的SSH端口

在我们继续更改SSH端口之前,了解当前使用的端口号是非常重要的。默认情况下,SSH服务监听的是22号端口。

然而,这是一个众所周知的端口,往往会成为攻击者的目标。因此,建议将这个默认端口号更改为非标准的端口。

使用命令”sshd -T | Grep Port”检查当前端口

要检查SSH服务当前所监听的端口号,可以在Linux终端中使用以下命令:

sshd -T | grep port

此命令将显示类似以下格式的输出−

port 22 addressfamily any 

listenaddress 0.0.0.0:22 listenaddress [::]:22

输出含义的解释

上面的输出显示SSH服务当前正在监听端口22,用于IPv4和IPv6连接(由“listenaddress 0.0.0.0:22”和“listenaddress [::]:22”表示)。”grep”命令过滤掉除了包含单词”port”的所有文本行之外的所有行。第一行(”port 22″)显示我们服务器默认的SSH监听端口号是22。

如果系统管理员已经将默认的SSH端口从标准值“22”更改为其他值,你将在这个输出中看到新值,而不是“22”。记下这些信息将有助于在选择适用于你的基于Linux的系统的新的非标准端口号时。

选择新的端口号

选择新端口号的准则

在检查当前SSH端口后,下一步是选择新的端口号。重要的是要选择一个不常被其他Linux系统上的服务使用的随机端口号。这将有助于防止攻击者轻易找到并利用你的SSH服务。

互联网编号分配机构(IANA)建议在私有或短暂端口中使用49152到65535之间的端口号。这些端口范围为动态或私有使用保留,不应由任何注册服务使用。

所选择的新端口号还应易于记忆,以免以后忘记。确保所选的端口号符合组织内的任何安全政策。

常用的替代端口

虽然有大量可选的端口可供选择,但有些已经变得更受欢迎作为默认SSH端口(22)的替代方案。其中一个替代方案是端口2222,由于易于记忆和与ISP和防火墙注册,它随着时间的推移而变得更受欢迎。另一个常用的替代方案是端口443,用于HTTPS流量。

由于大多数防火墙允许HTTPS流量无需检查通过,使用此备用SSH端口可帮助避免被网络管理员检测到,否则他们可能会阻止使用非标准端口。其他常用的替代端口包括992、2020和8080。

但是,值得注意的是,尽管这些对于在Linux系统中更改SSH端口是不错的选项,但它们仍然广为攻击者所知,他们可能会尝试扫描这些端口以查找易受攻击的系统。因此,建议选择类似之前提到的49152-65535之间未使用的唯一高范围端口,以获得最大的安全性优势。

编辑SSH配置文件

选择了新的端口号之后,下一步是编辑sshd_config文件。这个配置文件确定你的SSH服务器的行为,并允许你自定义其设置。

要访问该文件,在Linux机器上打开任何文本编辑器,并导航到/etc/ssh/sshd_config。你可以使用任何你喜欢的文本编辑器,但在命令行环境中,nano和vim是常用的编辑器。

$ sudo vim /etc/ssh/sshd_config

使用文本编辑器修改sshd_config文件

在您选择的文本编辑器中打开sshd_config文件,找到一行中包含“#Port 22”的内容。”#”符号用于注释掉行,所以从这一行中移除它,并将”22″改为您选择的端口号。

#Port 22

Port 22

按下 Ctrl + O 或使用编辑器的“保存”功能保存对sshd_config文件所做的更改。然后按下 Ctrl + X 退出编辑器。

需要进行的更改说明

配置文件中唯一需要进行的更改是修改“Port”设置,就像先前提到的那样。除非你知道自己在做什么,否则重要的是不要进行任何其他更改,因为它们可能会对SSH功能产生潜在影响。

值得注意的是,如果你为了安全原因要更改SSH端口号,同时推荐在相同的配置文件中将“PermitRootLogin no”设置为禁用root登录。通过使用新的端口号和其他推荐的安全设置修改此配置文件,你可以显著降低未安全端口遭受攻击的风险,同时仍允许通过其他安全通道进行授权访问。

重新启动SSH服务

编辑完sshd_config文件后,现在是重新启动SSH服务以应用更改的时候。你可以在终端上使用以下命令来完成这个操作 –

systemctl restart sshd

这个命令将停止然后重新启动SSH服务,并使用新的配置。如果在这一阶段遇到任何错误,可能是由于配置文件有问题。

使用命令行检查新端口是否正常工作

要检查新端口是否正常工作,可以使用以下命令 –

ssh -p [new_port_number] [username]@[ip_address]

[new_port_number]替换为您选择的端口号,[username]替换为您的用户名,[ip_address]替换为您服务器的IP地址。如果一切配置正确,您应该能够使用SSH连接到新端口上的服务器。需要注意的是,更改默认SSH端口并不能使您的系统完全安全。

然而,它确实增加了一层额外的安全保障,使攻击者更难以通过常见的端口攻击您的系统。在保护服务器上存储的敏感信息时,始终采取多个层次的安全措施是个好习惯。

结论

更改默认的SSH端口是保护Linux系统的重要步骤。通过使用非标准端口,您可以使攻击者更难找到您的服务器并对其发起攻击。尽管这不是一个完全有效的解决方案,也不应该是唯一的安全措施,但这是确保系统安全的重要一步。

同时,需要注意的是,仅仅更改SSH端口并不能使您的系统完全安全。您还应该启用其他安全措施,如配置防火墙、禁用root登录和使用密钥验证。

通过遵循本文中概述的步骤,您可以轻松地更改Linux系统上的默认SSH端口,并提高系统的整体安全性。请保持安全!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程