VPS如何修改22端口?_详细脚本与安全配置指南

如何安全修改VPS的22端口?有哪些脚本和注意事项?

步骤 操作说明 使用工具 命令示例
1. 备份配置文件 修改前备份SSH配置文件 cp命令 cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.backup
2. 编辑配置文件 修改sshdconfig文件,添加新端口 vi/vim编辑器 vi /etc/ssh/sshdconfig 添加 Port 12345
3. 配置防火墙 放行新端口 iptables/firewalld iptables -A INPUT -p tcp --dport 12345 -j ACCEPT
4. 重启SSH服务 使配置生效 systemctl/init.d systemctl restart sshd
常见问题 原因 解决方案
———- —— ———-
端口绑定失败 SELinux限制 使用semanage port -a -t sshportt -p tcp 新端口
无法连接新端口 防火墙未放行 检查防火墙规则firewall-cmd --list-ports
服务启动失败 端口冲突 检查netstat -tuln确认端口占用

VPS修改22端口的完整操作指南

为什么要修改默认SSH端口?

默认的22端口是SSH服务的标准端口,也是恶意扫描和暴力破解的主要目标。通过修改默认端口,可以显著提高服务器的安全性,减少不必要的登录尝试。

修改前的准备工作

  1. 确保当前SSH连接正常:建议在修改前保持当前SSH连接不中断,直到确认新端口可用。
  2. 选择新端口号:建议使用1024-65535之间的端口,避免常见服务端口(如80、443等)。
  3. 备份配置文件:这是关键步骤,防止配置错误导致无法连接。

详细操作步骤

1. 备份SSH配置文件

cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.backup

2. 编辑配置文件

使用vi或vim编辑器打开配置文件:
vi /etc/ssh/sshdconfig
找到#Port 22行,取消注释并添加新端口:
Port 22
Port 12345

3. 配置防火墙

根据系统防火墙类型选择相应命令: iptables防火墙:
iptables -A INPUT -p tcp --dport 12345 -j ACCEPT
service iptables save
firewalld(CentOS7+):
firewall-cmd --permanent --zone=public --add-port=12345/tcp
firewall-cmd --reload

4. 重启SSH服务

systemctl restart sshd

或旧版系统

/etc/init.d/sshd restart

5. 验证新端口

在新终端窗口测试连接:
ssh -p 12345 username@yourserverip
确认连接成功后,可以返回配置文件删除Port 22行,彻底禁用默认端口。

常见问题解决方案

  1. 端口绑定失败(Permission denied)
  • 原因:SELinux限制
  • 解决:semanage port -a -t sshportt -p tcp 12345
  1. 无法连接新端口
  • 检查防火墙规则:firewall-cmd --list-ports
  • 确认安全组/云控制台已放行端口
  1. 服务启动失败
  • 检查端口冲突:netstat -tuln
  • 查看错误日志:journalctl -xe

自动化脚本示例

以下是一个简单的bash脚本,可自动完成端口修改过程:
#!/bin/bash
NEWPORT=$1
if [ -z "$NEWPORT" ]; then
    echo "Usage: $0 "
    exit 1
fi

备份配置文件

cp /etc/ssh/sshd
config /etc/ssh/sshdconfig.bak

修改配置

sed -i "/^#Port 22/a Port $NEW
PORT" /etc/ssh/sshdconfig

防火墙配置

if [ -x "$(command -v firewall-cmd)" ]; then firewall-cmd --permanent --zone=public --add-port=$NEW
PORT/tcp firewall-cmd --reload elif [ -x "$(command -v iptables)" ]; then iptables -A INPUT -p tcp --dport $NEWPORT -j ACCEPT service iptables save fi

重启服务

systemctl restart sshd echo "SSH端口已修改为 $NEW
PORT"
使用方式:chmod +x modifysshport.sh && ./modifysshport.sh 12345

安全建议

  1. 保留原端口一段时间:确保新端口正常工作后再禁用22端口
  2. 使用密钥认证:比密码更安全
  3. 限制访问IP:通过防火墙或/etc/hosts.allow限制特定IP访问
  4. 定期检查日志tail -f /var/log/secure监控异常登录尝试
通过以上步骤,您可以安全地修改VPS的SSH默认端口,提高服务器安全性。建议选择不易猜测的端口号,并配合其他安全措施使用。

发表评论

评论列表