linux系统22端口开关
时间: 2025-06-09 13:52:01 浏览: 5
### 更改或关闭 Linux 系统中的 SSH 服务端口
在 Linux 系统中,可以通过配置文件调整 SSH 服务的状态以及其监听的端口号。以下是关于如何开启或关闭 SSH 的 22 端口的具体方法。
#### 备份 SSH 配置文件
在进行任何修改之前,建议先备份 `/etc/ssh/sshd_config` 文件,以便在遇到问题时能够快速恢复到初始状态。
```bash
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
```
#### 修改 SSH 配置文件以启用或禁用 22 端口
编辑 SSH 配置文件 `sshd_config` 来控制 SSH 服务的行为:
```bash
sudo nano /etc/ssh/sshd_config
```
找到以下行并根据需求进行修改:
- 如果希望 **仅使用其他端口而不再监听 22 端口**,可以删除或注释掉默认的 `Port 22` 行,并添加新的端口号(例如 `Port 2222`)。完成后保存退出[^1]。
- 若要完全禁用 22 端口而不影响其他自定义端口,则只需保留新端口配置并将 `Port 22` 注释掉[^2]。
注意:每次修改后都需要重启 SSH 服务才能使更改生效:
```bash
sudo systemctl restart sshd
```
或者对于某些较旧版本的操作系统可能是:
```bash
sudo service sshd restart
```
#### 检查 SSH 是否已设置为开机启动
确保 SSH 服务已在当前运行级别下设定了自动启动功能。通过下面这条命令查询状态:
```bash
sudo chkconfig --list sshd
```
如果没有发现对应条目表示尚未激活开机动态加载机制;此时可利用如下指令完成设定工作:
```bash
sudo chkconfig --level 2345 sshd on
```
#### 调整防火墙规则支持指定端口通信
不同发行版可能采用不同的方式管理防火墙策略,在 RedHat 类似系列里可以直接停止整个防护体系运作从而开放全部连接请求;
然而 Ubuntu 用户则需更加谨慎操作因为简单粗暴地移除所有现存过滤条件可能导致意外封锁合法入站流量甚至切断自身远程操控权限等问题发生所以推荐做法应该是明确新增加允许目标主机访问特定编号的服务项目而不是单纯依赖全局放行措施实现目的比如这里我们要让外部设备能经由非标准安全壳协议传输层建立联系就必须相应补充进许可列表当中去具体步骤如下所示:
首先确认现有规则情况:
```bash
sudo iptables -L
```
接着添加一条针对所需替代号码的新规例比如说我们刚才提到过的那个例子就是把原先默认值替换成了另外一组数字形式表现出来的地址那么现在就需要告诉本地网卡接受来自该位置方向发起的一切正常握手动作序列号匹配成功之后才会继续往下走其余流程否则一律拒绝通行直到满足预设条件为止最后一步非常重要千万别忘了同步更新内核内存缓冲区缓存记录以免造成实际效果延迟显现出来影响正常使用体验哦!
假设要加入的是上面所举实例当中的备用选项即端口2222的话可以用这样的语句达成目标:
```bash
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
```
然后重新载入这些改动使之立即生效但要注意这样做并不会永久保持下来下次机器重启的时候又会回到原来的样子因此还需要进一步采取行动将其写死固定下来成为长期有效的一部分才行通常情况下有两种途径可以选择一种比较简单直接的办法就是在终端里面输入类似这样的一串字符组合来达到我们的预期成果:
```bash
sudo sh -c "iptables-save > /etc/iptables.rules"
```
另一种稍微复杂一点但是兼容性和稳定性相对更好一些的方式则是创建一个新的脚本文件专门用来处理这类事情每当系统引导过程中都会按照既定顺序依次调用它们进而确保各项参数始终维持在一个稳定合理的范围内不至于轻易发生变化引起不必要的麻烦困扰[^4]。
---
###
阅读全文
相关推荐


















