Debian13修改ssh端口

发布于 2026-10-10

Q:为什么要修改ssh端口?
A:不使用22默认端口能避免被爆破以及保持系统日志清爽,方便安全威胁或异常活动检查,因此下文提到的2222也不要使用。使用一个随机的65535以下的数字会更好,但务必不要使用常用端口号。另外,很多VPS商家禁止22端口出站,因此使用这类VPS作为跳板机无法转发22端口连接,这是很多新手小白经常遇到的代理无法连接服务器的原因,新买的VPS直连22端口登录服务器后按下文修改端口号即可解决。

在 Debian 13 中,系统默认引入了 ssh.socket 机制,这会导致直接修改 /etc/ssh/sshd_config 中的端口设置被覆盖或不生效。如果你希望通过修改传统配置文件(旧的方式)来更改 SSH 端口,需要先关闭 socket 激活、切回传统的 ssh.service 模式,再修改配置。

以下是具体的操作步骤:

1.停用并禁用 Socket 激活
切换回传统守护进程模式。

运行以下命令关闭并禁用默认的 ssh.socket:

systemctl stop ssh.socket
systemctl disable ssh.socket

验证方法:运行 systemctl is-active ssh.socket,若返回 inactive 则说明已成功关闭。

2.启用并启动传统 SSH 服务

启用并启动传统的 ssh.service 守护进程:

systemctl enable ssh.service
systemctl start ssh.service

验证方法:运行 systemctl is-active ssh.service,若返回 active 说明服务已正常运行。

3.修改 SSH 配置文件

使用文本编辑器打开配置文件:

nano /etc/ssh/sshd_config

找到 #Port 22 或 Port 22,将注释符号 # 去掉(如果有的话),并将端口号修改为你的目标端口(例如 2222):

Port 2222

修改完成后保存并退出。

验证方法:运行配置语法检查命令 /usr/sbin/sshd -t,如果没有任何错误提示输出,说明语法正确。

4.重启服务并验证端口

重启 SSH 服务以应用新的端口配置:

systemctl restart ssh

验证方法:运行 ss -tunlp | grep ssh,检查输出中是否已经包含了你刚才修改的新端口(如 0.0.0.0:2222)。

重要安全提示

在关闭当前的 SSH 远程连接之前,请务必另开一个终端窗口使用新端口(如 ssh root@your_ip -p 2222)进行连接测试。同时,如果系统启用了防火墙(如 ufw 或 nftables),请记得提前放行新端口,以免将自己锁在服务器之外。