Ubuntu 系统修改SSH端口

2026-05-29 15:39:54 672

Ubuntu 系统修改SSH端口

欢迎来到蓝队云技术小课堂每天分享一个技术小知识。

一、文档说明

本文适用于 Ubuntu 22.10 及以上版本(Ubuntu 23.04/23.10/24.04 均适用),详细介绍如何将 SSH 默认端口 22 修改为别的端口(本文是改成 22222),并解决操作中常见一些 如「ssh.socket 接管端口监听」导致配置不生效的问题,确保 SSH 服务正常运行且端口配置生效。

二、前置准备

权限要求:需使用 root 权限操作(sudo 命令),避免因权限不足导致配置失败。

风险提示:修改端口后,若未正确配置,可能导致 SSH 连接失败,建议操作前保留当前终端连接,避免远程操作时断连。

三、正常修改 SSH 端口操作步骤

1. 备份配置(必做)

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

sudo cp /lib/systemd/system/ssh.socket /lib/systemd/system/ssh.socket.bak

2. 修改 sshd_config

sudo nano /etc/ssh/sshd_config

找到:

#Port 22

改成(取消注释,端口改为 2222):

#Port 22

Port 2222

保存退出:nano 按 Ctrl+O → 回车 → Ctrl+X

3. 修改 ssh.socket(Ubuntu 24.04 关键)

sudo nano /lib/systemd/system/ssh.socket

找到 [Socket] 段:

[Socket]ListenStream=22

Accept=yes

改为:

[Socket]ListenStream=2222

Accept=yes

保存退出。

4. 重载 systemd + 重启服务

sudo systemctl daemon-reload

sudo systemctl restart ssh.socket

sudo systemctl restart ssh

5. 放行防火墙(ufw)

# 放行新端口

sudo ufw allow 2222/tcp

# 可选:禁用旧 22 端口

sudo ufw delete allow 22/tcp

# 重载并查看状态

sudo ufw reload

sudo ufw status

6. 验证端口是否生效

ss -tulpn | grep ssh

看到类似:

LISTEN  0  128  0.0.0.0:2222  *:*  users:(("sshd",pid=...,fd=...))

即成功。

7. 测试连接

ssh 你的用户名@服务器IP -p 2222

常见坑

· 只改 sshd_config 不改 ssh.socket:端口永远是 22。

· 没放行 ufw:能监听但连不上。

· 云服务器:还要在厂商安全组 / 防火墙放行 2222。

 

蓝队云官网上拥有完善的技术支持库可供参考大家可自行查阅更多技术问题可以直接咨询。同时蓝队云整理了运维必备的工具包免费分享给大家使用需要的朋友可以直接咨询。

更多技术知识蓝队云期待与你一起探索。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: