如何安全修改VPS的SSH端口?有哪些注意事项?
| 步骤 |
操作说明 |
使用工具 |
命令示例 |
| 1 |
备份SSH配置文件 |
终端/命令行 |
cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.backup |
| 2 |
编辑配置文件 |
Vim/Nano |
vim /etc/ssh/sshdconfig |
| 3 |
修改端口号 |
文本编辑器 |
添加Port 新端口号(如10022) |
| 4 |
重启SSH服务 |
系统命令 |
systemctl restart sshd(CentOS7) |
| 5 |
配置防火墙 |
Firewalld/Iptables |
firewall-cmd --add-port=10022/tcp --permanent |
VPS修改SSH端口的完整指南
为什么要修改SSH默认端口?
SSH默认使用22端口,这使得服务器容易成为自动化扫描和暴力破解攻击的目标。通过修改为非常用端口(建议1024-65535范围),可以显著提高服务器安全性^^1^^2^^。
详细操作步骤
1. 准备工作
cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.bak
- 保留原端口:建议先保留22端口,待新端口测试成功后再删除^^2^^
2. 修改配置文件
使用文本编辑器打开配置文件:
vim /etc/ssh/sshdconfig
找到
#Port 22行,取消注释并修改为:
Port 10022
(可同时保留22端口作为备用)
3. 防火墙配置
根据系统类型选择相应命令:
| 防火墙类型 |
命令 |
| Firewalld(CentOS7+) |
firewall-cmd --permanent --zone=public --add-port=10022/tcp |
| Iptables |
iptables -A INPUT -p tcp --dport 10022 -j ACCEPT |
| Ufw(Ubuntu) |
ufw allow 10022 |
4. SELinux设置(仅CentOS)
semanage port -a -t sshportt -p tcp 10022
5. 重启服务
systemctl restart sshd
常见问题及解决方案
| 问题 |
原因 |
解决方案 |
| 修改后无法连接 |
防火墙未放行新端口 |
检查防火墙规则firewall-cmd --list-ports |
| SSH服务启动失败 |
SELinux限制 |
临时关闭setenforce 0或添加SELinux规则 |
| 配置文件无法保存 |
文件权限被锁定 |
使用chattr -i /etc/ssh/sshd_config解锁 |
| 端口冲突 |
与其他服务共用 |
使用netstat -tulnp检查端口占用情况 |
安全建议
- 选择1024-65535之间的非常用端口
- 修改后测试新端口连接成功再禁用22端口
- 结合密钥认证和Fail2ban等工具增强安全性
- 定期检查
/var/log/secure日志文件
通过以上步骤,您可以安全地修改VPS的SSH端口,有效降低服务器被攻击的风险。操作时请务必谨慎,建议先在测试环境中验证流程。
发表评论