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端口,并提高系统的整体安全性。请保持安全!