# 修改vps默认SSH端口

**URL:** <http://1keji.net/t/topic/22>\
**Category:** 一点科技\
**Created:** [2025 年1 月 17 日 15:40 UTC](http://1keji.net/t/topic/22 "2025-01-17T15:40:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![一点科技](http://1keji.net/user_avatar/1keji.net/%E4%B8%80%E7%82%B9%E7%A7%91%E6%8A%80/32/61_2.png) [@一点科技](http://1keji.net/u/%E4%B8%80%E7%82%B9%E7%A7%91%E6%8A%80)\
**Post date:** [2025 年1 月 17 日 15:40 UTC](http://1keji.net/t/topic/22/1 "2025-01-17T15:40:58Z")

</div>

最近发现我的vps一直被人尝试暴力破解  
日志居然达到了4G大小。真是够持之以恒的。  
我虽然相信自己的密码够坚挺，不过看着服务器占用有事没事就原地起飞。还是有些烦。  
这里记录其中一个比较简单的应对方案，就是修改ssh端口

## 安全修改默认 SSH 端口的步骤

#### **1. 确保当前的 SSH 会话保持连接**

在修改 SSH 配置时，不要关闭当前已连接的 SSH 会话，以便在出现问题时可以直接回滚操作。

#### 2.添加新端口到防火墙规则

**在修改 SSH 配置之前，先在防火墙中允许新端口的连接。**

以 `ufw` 为例

```auto
sudo ufw allow <新端口号>/tcp

```

例如，将 SSH 从 22 改为 22022：

```auto
sudo ufw allow 22022/tcp

```

#### 3.修改 SSH 配置文件

编辑 SSH 配置文件：

```auto
sudo vi /etc/ssh/sshd_config

```

找到 `Port` 参数，并按照以下方式修改：

```auto
Port 22 # 可以保留旧端口以测试
Port 22022 # 新端口号

```

⚠ 初次修改时，不要直接删除 `Port 22`，同时启用多个端口方便测试。

#### 4.重启 SSH 服务

保存文件后，重启 SSH 服务以使更改生效：

```auto
sudo systemctl restart sshd

```

#### 5.测试新端口连接

在新窗口中测试用新端口连接 SSH（不要关闭原 SSH 会话）：

```auto
ssh -p 22022 your-user@your-server-ip

```

如果能够成功登录，说明新端口配置正常。

如果失败，检查以下内容：

- 确保防火墙允许新端口。
- 确认配置文件是否保存并正确重启 SSH 服务。
- 确保服务器未被其他网络规则阻止。

#### 6.移除旧端口

确认新端口连接无误后，可以移除旧端口（22）的防火墙规则：

```auto
sudo ufw delete allow 22/tcp

```

并在 SSH 配置文件中删除旧端口：

```auto
# Port 22 # 注释或删除旧端口
Port 22022

```

再次重启 SSH 服务：

```auto
sudo systemctl restart sshd

```

### 注意事项

1. **防火墙规则优先配置** 确保防火墙不会阻止你新的 SSH 端口，否则可能会导致失联。
2. **配置错误时的紧急恢复方法** 如果修改后失联，可以尝试以下方法：

- 登录 VPS 提供商的控制面板（如阿里云、腾讯云等），使用其提供的“远程终端”或“VNC”工具修复配置。
- 确认 `/etc/ssh/sshd_config` 文件的正确性。

1. **选择安全的非常用端口** 选择一个高位端口（1024-65535）且不与常见服务冲突，例如 `22022`、`55000` 等。

### 总结操作顺序

1. **保持原 SSH 会话不关闭** 。
2. **提前配置防火墙允许新端口** 。
3. **修改 SSH 配置文件，启用新端口，同时保留旧端口** 。
4. **重启 SSH 服务并测试新端口连接** 。
5. **确认新端口正常后，禁用旧端口并更新防火墙规则** 。
