🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录
在 Linux 系统中,可以通过修改 SSH 服务器配置文件 监听多个端口,实现多端口运行 SSH 服务。以下是具体步骤和注意事项:
1. 修改 SSH 配置文件
打开 SSH 服务器配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
在文件中添加多个 Port
指令,每个端口占一行:
# 默认端口 22
Port 22
# 新增其他端口(例如 2222、3333)
Port 2222
Port 3333
2. 重启 SSH 服务
配置生效需重启 SSH 服务:
- Systemd 系统(Ubuntu/Debian/CentOS 7+):
sudo systemctl restart sshd # 或 ssh(取决于发行版)
- SysVinit 系统(CentOS 6):
sudo service sshd restart
3. 开放防火墙端口
确保防火墙允许新增的 SSH 端口:
- UFW(Ubuntu/Debian):
sudo ufw allow 2222/tcp sudo ufw allow 3333/tcp sudo ufw reload
- Firewalld(CentOS/RHEL):
sudo firewall-cmd --permanent --add-port={2222,3333}/tcp sudo firewall-cmd --reload
4. 验证端口监听状态
使用 netstat
或 ss
命令检查 SSH 是否在多个端口上监听:
sudo netstat -tuln | grep ssh
# 或
sudo ss -tuln | grep ssh
输出应包含所有配置的端口:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3333 0.0.0.0:* LISTEN
5. 测试多端口连接
使用 -p
参数指定端口连接:
ssh username@server_ip -p 2222
ssh username@server_ip -p 3333
6. 高级配置(可选)
为不同端口设置不同规则
在 sshd_config
中通过 Match
条件为不同端口设置独立规则:
# 端口 2222 仅允许密钥登录
Port 2222
Match LocalPort 2222
PasswordAuthentication no
PermitRootLogin no
# 端口 3333 允许特定用户组访问
Port 3333
Match LocalPort 3333
AllowGroups dev-team
7. 常见问题排查
端口未监听
- 检查配置语法:确认
sshd_config
中无拼写错误。 - 查看日志:
sudo journalctl -u sshd
或/var/log/auth.log
。
SELinux 限制(仅限 RHEL/CentOS)
允许非标准端口:
sudo semanage port -a -t ssh_port_t -p tcp 2222
sudo semanage port -a -t ssh_port_t -p tcp 3333
8. 安全建议
- 避免使用默认端口:例如关闭
Port 22
,仅保留非标准端口。 - 限制访问来源:使用防火墙规则限制 SSH 端口的 IP 范围。
- 监控登录尝试:部署 Fail2ban 防止暴力破解。
通过上述步骤,即可实现 SSH 服务在多个端口上的安全运行。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙