防火墙放行ssh
时间: 2025-05-23 13:51:12 浏览: 5
### 配置防火墙规则以允许SSH连接
为了使服务器能够通过防火墙接受SSH连接,默认情况下需要确保端口22处于开放状态并被正确配置。以下是实现这一目标的具体方法:
#### 使用 `firewall-cmd` 命令管理防火墙规则
在基于Red Hat的Linux发行版(如CentOS、Fedora)上,可以使用 `firewall-cmd` 工具来管理和配置防火墙规则。
- **查看当前防火墙的状态和已开放的端口**
可以运行以下命令检查当前防火墙的状态以及已经开放的端口:
```bash
sudo firewall-cmd --list-all
```
此命令会显示防火墙的所有相关信息,包括服务列表和服务对应的端口号[^1]。
- **添加SSH服务到防火墙规则**
如果发现SSH服务未被列入,则可以通过下面的命令将其加入:
```bash
sudo firewall-cmd --add-service=ssh --permanent
```
这一操作永久性地向防火墙规则中添加了SSH服务支持,并绑定至默认端口22。
- **重新加载防火墙配置**
添加新规则之后,需重新加载防火墙配置使其生效:
```bash
sudo firewall-cmd --reload
```
- **验证SSH服务是否成功添加**
执行如下命令确认SSH服务已被正确添加到防火墙规则之中:
```bash
sudo firewall-cmd --list-services
```
若返回的结果里包含有`ssh`字样,则说明该服务已经被成功启用。
#### 对于自定义SSH端口的情况
如果计划更改SSH默认使用的22号端口为另一个特定数值X(比如8022),则除了上述步骤外还需要额外执行一些操作:
- 编辑SSH配置文件 `/etc/ssh/sshd_config` 并找到其中关于Port的部分,修改成新的端口号X;
- 将此变更应用到实际运行中的SSH守护进程当中去,可通过重启SSH服务完成更新过程:
```bash
systemctl restart sshd
```
- 接下来利用 `firewall-cmd` 来新增对于这个非标准端口的支持:
```bash
sudo firewall-cmd --add-port=X/tcp --permanent
sudo firewall-cmd --reload
```
以上就是针对不同需求场景下如何调整Linux系统的防火墙策略以便顺利建立SSH远程访问连接的方法介绍[^2]。
```bash
sudo firewall-cmd --add-port=22/tcp --permanent
sudo firewall-cmd --reload
```
阅读全文
相关推荐

















