Linux如何修改SSH默认的22端口?

在Linux系统中,修改SSH服务的默认端口号22是提升服务器安全性的常见操作,可有效防止自动化扫描和暴力破解攻击,以下是详细的修改步骤及注意事项,涵盖不同Linux发行版的操作差异。

linux 如何修改22

修改SSH默认端口的操作步骤

备份SSH配置文件

修改前务必备份原始配置文件,避免操作失误导致服务异常,以CentOS/Ubuntu为例,执行以下命令:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

编辑SSH配置文件

使用vinano编辑器打开SSH主配置文件:

sudo vi /etc/ssh/sshd_config

找到以下行(可能被注释,需取消):

#Port 22

将其修改为自定义端口(建议选择1024以上的端口,避免与系统服务冲突,例如2222),并确保新端口未被占用(可通过netstat -tuln | grep 端口号检查),若需同时保留22端口供临时测试,可新增一行:

Port 22
Port 2222

保存文件后退出(vi中按wq)。

linux 如何修改22

配置防火墙规则

不同Linux发行版的防火墙工具不同,需分别设置允许新端口的访问:

  • CentOS (使用firewalld)

    sudo firewall-cmd --permanent --add-port=2222/tcp  # 添加永久规则
    sudo firewall-cmd --reload  # 重载防火墙
  • Ubuntu (使用ufw)

    sudo ufw allow 2222/tcp  # 允许2222端口
    sudo ufw reload  # 重载防火墙

下表总结了不同发行版的防火墙配置命令差异:

发行版 防火墙工具 添加端口命令 重载规则命令
CentOS 7+ firewalld firewall-cmd --permanent --add-port=端口号/tcp firewall-cmd --reload
Ubuntu 18.04+ UFW ufw allow 端口号/tcp ufw reload

重启SSH服务

使配置生效,重启SSH服务:

linux 如何修改22

sudo systemctl restart sshd  # CentOS/RHEL
sudo systemctl restart ssh   # Ubuntu/Debian

验证修改结果

  • 检查端口监听状态
    netstat -tuln | grep 2222  # 应显示LISTEN状态
  • 测试新端口连接
    在本地终端使用新端口远程登录:

    ssh -p 2222 username@服务器IP

    若连接成功,说明修改成功;若失败,检查防火墙规则、SSH配置文件语法(sshd -t)及SELinux设置(CentOS需执行sudo setsebool -P ssh_port_t 1)。

注意事项

  1. 端口选择:避免使用1-1024的特权端口及常见服务端口(如80、443),防止冲突。
  2. 避免锁 out:修改前确保有其他方式登录服务器(如控制台),或先保留22端口测试,确认无误后再关闭22端口。
  3. SELinux配置:若开启SELinux,需执行semanage port -a -t ssh_port_t -p tcp 2222添加新端口标签。

相关问答FAQs

Q1:修改SSH端口后无法连接,可能的原因有哪些?
A:常见原因包括:① 防火墙未开放新端口;② SSH配置文件语法错误(可通过sshd -t检查);③ SELinux阻止新端口访问(需执行semanage port添加端口);④ 服务器安全组(如云服务器ECS/VPC)未开放新端口,建议依次排查以上项,并使用telnet IP 端口号测试端口连通性。

Q2:是否可以同时监听多个SSH端口?
A:可以,在/etc/ssh/sshd_config中添加多行Port指令即可,

Port 22
Port 2222
Port 8022

重启SSH服务后,客户端可通过任意指定端口连接,但需注意,每增加一个端口都需在防火墙和安全组中开放相应规则,避免安全风险。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/22096.html

(0)
酷番叔酷番叔
上一篇 2025年9月9日 07:54
下一篇 2025年9月9日 08:09

相关推荐

  • cdlinux如何抓包?操作步骤与工具方法详解?

    CDLinux作为一款轻量级的Linux应急响应系统,内置了丰富的网络分析工具,常用于网络故障排查、安全检测和数据包捕获,其抓包功能主要依赖Wireshark(图形界面)和tcpdump(命令行)两大工具,以下是详细操作步骤及注意事项,准备工作:启动系统并确认网络接口启动CDLinux将CDLinux系统通过U……

    2025年9月25日
    11900
  • groupadd执行失败怎么办?

    在Linux系统中,用户组是管理用户权限的重要机制,通过将用户分配到特定组,管理员可以批量分配文件访问权限、执行权限等,以下是添加用户组的详细方法及注意事项,所有操作需root权限(使用sudo或切换至root账户),groupadd是Linux创建用户组的专用命令,基本语法:groupadd [选项] 组名常……

    2025年6月22日
    16600
  • Linux安装的软件如何不固定在桌面图标?

    Linux系统以其高度的可定制性和灵活性著称,但部分软件安装后会在桌面自动生成图标,这可能会影响桌面整洁度,这些桌面图标本质上是应用程序的快捷方式(通常为.desktop文件),移除它们并不会影响软件的正常运行,本文将详细介绍不同场景下移除或避免固定桌面图标的方法,帮助用户打造个性化的桌面环境,需要明确桌面图标……

    2025年9月21日
    15500
  • Linux系统中如何查看MySQL版本?

    在Linux系统中,查看MySQL版本是日常运维和开发中常见的需求,无论是为了确认兼容性、排查问题,还是升级前的准备,掌握多种查看方法都能提高效率,MySQL作为广泛使用的开源关系型数据库,其版本信息通常可以通过命令行工具、配置文件、系统服务等途径获取,本文将详细介绍不同场景下查看MySQL版本的具体操作,包括……

    2025年9月30日
    30000
  • Linux中创建文件夹目录的具体步骤和命令是什么?

    在Linux操作系统中,建立文件夹目录(即创建目录)是日常管理和系统维护的基础操作,主要通过mkdir命令实现,mkdir是“make directory”的缩写,支持灵活的参数配置,能够满足单目录创建、多级嵌套目录创建、权限设置等需求,本文将详细介绍mkdir命令的使用方法、常用参数、高级技巧及常见问题解决……

    2025年9月24日
    17800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信