跳转至

SSH端口修改文档

一、修改概述

项目 内容
修改时间 2026-01-29
修改内容 将SSH服务端口从 22 修改为 10022
修改目的 提高服务器安全性,避免默认端口22被扫描攻击

二、修改前状态

  • 原SSH端口: 22 (默认端口)
  • 配置文件: /etc/ssh/sshd_config

三、修改步骤

3.1 备份配置文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%Y%m%d_%H%M%S)

3.2 修改SSH配置文件

编辑配置文件 /etc/ssh/sshd_config:

vi /etc/ssh/sshd_config

将以下配置项:

#Port 22

修改为:

Port 10022

3.3 验证配置文件语法

sshd -t

3.4 重启SSH服务

systemctl restart sshd

3.5 验证服务状态

systemctl status sshd

确认输出包含:

Server listening on 0.0.0.0 port 10022.

四、修改后状态

  • 新SSH端口: 10022
  • 服务状态: active (running)
  • 监听地址: 0.0.0.0:10022, :::10022

五、后续操作建议

5.1 防火墙配置

如果服务器启用了防火墙,需要开放新端口:

iptables:

iptables -I INPUT -p tcp --dport 10022 -j ACCEPT
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
service iptables save

firewalld:

firewall-cmd --permanent --add-port=10022/tcp
firewall-cmd --permanent --remove-port=22/tcp
firewall-cmd --reload

ufw:

ufw allow 10022/tcp
ufw delete allow 22/tcp
ufw reload

5.2 云服务器安全组

如果使用云服务器(如阿里云、腾讯云、AWS等),需要在控制台安全组中: 1. 添加入站规则: 允许TCP端口10022 2. 删除或禁用原端口22的入站规则

5.3 客户端连接方式

修改后,客户端连接时需要指定新端口:

命令行连接:

ssh -p 10022 user@server_ip

SCP命令:

scp -P 10022 file.txt user@server_ip:/path/

配置SSH客户端(~/.ssh/config):

Host myserver
    HostName server_ip
    Port 10022
    User username

5.4 注意事项

  1. 在关闭防火墙22端口前,务必先确认10022端口可以正常连接
  2. 建议保留当前SSH会话,开启新会话测试新端口
  3. 确认无误后再关闭原22端口
  4. 通知所有需要访问服务器的相关人员使用新端口

六、回滚方案

如需回滚到原配置:

cp /etc/ssh/sshd_config.bak_* /etc/ssh/sshd_config
systemctl restart sshd

或手动修改:

vi /etc/ssh/sshd_config
# 将 Port 10022 改为 #Port 22 或 Port 22
systemctl restart sshd

七、修改记录

日期 操作人 修改内容
2026-01-29 Administrator SSH端口从22修改为10022