上一篇                     
               
			  Linux如何开启22端口
- Linux
- 2025-06-14
- 4245
 开启Linux的22端口需执行:安装SSH服务(如OpenSSH-server),配置防火墙允许TCP 22端口(使用firewalld或ufw),启动SSH服务并设置开机自启。
 
检查22端口状态
在操作前,确认当前端口状态:
sudo ss -tuln | grep ':22'
- 若输出包含LISTEN,表示端口已开放;若无输出或显示UNCONN,则需配置。
安装SSH服务
Ubuntu/Debian系统
sudo apt update && sudo apt install openssh-server -y
CentOS/RHEL系统
sudo yum install openssh-server -y
启动SSH服务
sudo systemctl start sshd # 立即启动 sudo systemctl enable sshd # 开机自启
配置防火墙开放22端口
使用ufw(Ubuntu/Debian推荐)
 
sudo ufw allow 22/tcp # 允许TCP流量 sudo ufw reload # 重载规则
使用firewalld(CentOS/RHEL推荐)
 
sudo firewall-cmd --permanent --add-port=22/tcp # 永久添加规则 sudo firewall-cmd --reload # 重载防火墙
使用iptables(通用方法)
 
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 临时允许 sudo iptables-save > /etc/iptables/rules.v4 # 永久保存(路径因系统而异)
验证端口是否开放
sudo systemctl status sshd # 检查SSH服务状态 sudo ss -tuln | grep ':22' # 确认端口监听 telnet 127.0.0.1 22 # 本地测试连接
安全加固建议
-  修改默认端口(可选) 
 编辑SSH配置文件:sudo nano /etc/ssh/sshd_config 修改 Port 22为其他端口(如Port 2222),重启服务: sudo systemctl restart sshd 同时更新防火墙规则(如 sudo ufw allow 2222/tcp)。
-  禁用密码登录(推荐密钥认证) 
 在sshd_config中设置: PasswordAuthentication no PubkeyAuthentication yes 
-  限制访问IP 
 通过防火墙仅允许特定IP:sudo ufw allow from 192.168.1.100 to any port 22 # Ubuntu sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=22 protocol=tcp accept' # CentOS 
故障排除
- 连接被拒绝:检查SSH服务是否运行(systemctl status sshd)。
- 防火墙阻塞:临时关闭防火墙测试(sudo ufw disable或sudo systemctl stop firewalld)。
- 端口冲突:确认无其他进程占用22端口(sudo lsof -i :22)。
打开22端口的核心步骤为:安装SSH服务 → 启动服务 → 配置防火墙,完成操作后,即可通过ssh username@服务器IP远程连接。务必遵循安全建议,避免暴露未加固的端口到公网。

引用说明基于Linux官方文档(OpenSSH)及主流发行版防火墙指南(UFW、Firewalld),操作需Root权限,请谨慎修改配置。
 
  
			 
			 
			 
			 
			