Secure Shell(SSH)是一种可信赖且广泛使用的方法,用于安全连接到远程服务器。默认情况下,它在端口22上听,这是一个著名的端口,通常以自动机器人和恶意登录尝试为目标。切换到其他端口不会使您的服务器无敌,但它可以大大减少不必要的流量并帮助改善整体安全姿势。
在本教程中,我们将介绍您安全更改服务器SSH端口的步骤。在此过程中,我们将介绍如何选择新端口,更新您的防火墙规则,测试连接,并应用一些其他最佳实践,以实现更安全的SSH设置。
让我们开始吧。
先决条件在更改SSH端口之前,请确保您有以下内容:
root或sudo访问服务器: 为了修改系统设置,您需要管理特权。如果您不确定如何通过SSH访问服务器,请参阅我们的指南 通过SSH连接到服务器使用默认端口(通常22)的活动SSH连接: 在不合格的情况下,保持积极的SSH会话是一个好主意。防火墙访问: 为了允许新端口上的流量,您需要修改操作系统的防火墙规则。命令行知识: 基本的理解应该很好。如果您需要帮助,我们 命令行界面的初学者指南 是一个很好的起点。一个新的SSH端口号: 选择尚未使用的1024和65535之间的端口。SSH配置文件的备份: 在进行更改之前,重要的是要备份您的SSH配置以防止锁定:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak选择一个新的SSH端口SSH默认为端口22,但是您可以将其更改为任何未使用的端口 1024和65535。避免在1024年以下的港口 - 他们保留用于著名的服务,并可能导致冲突。以下是常用端口的列表,因此您知道要避免哪些端口:
端口号
服务
协议
22
SSH协议
TCP.
21
FTP文件
TCP.
23
telnet
TCP.
25
SMTP
TCP.
53
域名解析
UDP/TCP
80
HTTP
TCP.
443
HTTPS
TCP.
3306
MySQL数据库
TCP.
5432
Postgresql
TCP.
8080
替代HTTP
TCP.
提示: 选择一个通常不受攻击者扫描的端口,例如2222、2525或50022
如何更改默认的SSH端口确定要使用的端口号后,让我们浏览如何进行切换的步骤。
步骤1:更新SSH配置文件1.使用当前SSH端口连接到服务器(默认为22):
ssh user@your-server-ip2。使用Nano等文本编辑器打开SSH守护程序配置文件:
sudo nano /etc/ssh/sshd_config3。找到指定默认SSH端口的行:
#Port 224。输入(删除#符号),然后将数字更改为新端口:
Port 2222(用您首选的端口号替换2222。)
5。保存并退出文件。
步骤2:更新防火墙规则如果您的服务器启用了防火墙,则需要打开防火墙中的新SSH端口并关闭旧的SSH端口。
在Ubuntu/Debian上:
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp
sudo ufw reload
在Centos Rhel和Firewalld上:
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --remove-service=sshsudo firewall-cmd --reload提示: 确保在任何其他防火墙管理工具或外部安全组(例如AWS或云提供商中的端口)中反映端口更改
步骤3:重新启动SSH服务进行更改后,通过重新启动SSH服务应用新设置:
sudo systemctl restart sshd步骤4:测试新的SSH端口在关闭当前的SSH会话之前,打开一个新的终端窗口并测试新端口:
ssh -p 2222 user@your-server-ip如果连接有效,那么您都设置了。
如果没有 故障排除SSH连接问题.
步骤5:使SSH连接更容易(可选)为了避免每次键入端口号,您可以将其添加到本地SSH配置中:
1.开放或创建此文件:
nano ~/.ssh/config2。使用您的凭据(服务器名称,服务器IP,端口#和用户名)添加以下内容:
Host your-server
HostName your-server-ip
Port 2222
User your-username 锁定SSH访问更改SSH端口是一个很好的第一步,但是这里还有一些增强服务器安全性的方法:
禁用根登录编辑/etc/ssh/sshd_config并设置:
PermitRootLogin no这迫使用户可以作为常规用户进行身份验证,然后用sudo升级特权。
使用SSH密钥身份验证基于密码的登录更容易暴力。切换到SSH键会使未经授权的访问变得更加困难。与SSH-Keygen生成一个密钥对,然后将您的公钥上传到服务器。
设置FAIL2BAN或类似工具诸如Fail2ban Monitor登录尝试和暂时禁止反复失败的工具。这有助于防止蛮力攻击。
保持SSH和您的操作系统更新定期安装更新以修补任何已知漏洞。
监视登录活动检查日志 /var/log/auth.log (Ubuntu/debian)或 / var / log / secure (Centos/Rhel)关注登录尝试和潜在威胁。
使用IP白名单限制SSH访问如果仅特定的IP需要SSH访问,请限制您的防火墙规则以允许这些地址。
