香港服务器SSH如何安全使用
2025-11-25 03:03:33 丨 来源:紫云
香港服务器 SSH 安全使用实践
一 基础加固配置
- 使用SSH 密钥认证并禁用密码登录:在本地生成密钥对(推荐4096 位 RSA),将公钥写入服务器~/.ssh/authorized_keys,随后在/etc/ssh/sshd_config中设置PasswordAuthentication no、PubkeyAuthentication yes,重启 SSH 服务。私钥务必设为600且仅保存在本机。
- 禁用root远程登录并采用sudo提权:设置PermitRootLogin no,通过AllowUsers youruser仅允许指定用户登录,避免空密码账户。
- 更改默认端口并同步防火墙:将Port 22改为1024–65535内的自定义端口(如50022),同时更新云平台安全组与系统防火墙放行新端口。
- 限制认证尝试与协议:设置MaxAuthTries 2降低暴力破解成功率,强制使用Protocol 2。
- 关闭不必要的通道:如无需要,关闭AllowTcpForwarding与X11Forwarding。
- 保持系统与安全组件更新:定期执行系统与安全包更新,修复已知漏洞。
二 访问控制与入侵防护
- 用防火墙精细化放行:仅允许可信来源 IP 访问 SSH 新端口,例如使用ufw allow 50022/tcp或iptables -A INPUT -p tcp --dport 50022 -s TRUSTED_IP -j ACCEPT;其余入站默认拒绝。
- 部署Fail2Ban自动封禁:安装后创建/etc/fail2ban/jail.local,启用sshd监狱并设置如maxretry=5、端口为自定义端口,自动阻断反复失败的来源 IP。
- 可选方案:部署DenyHosts作为补充,对暴力破解来源进行拉黑。
三 连接与运维安全习惯
- 正确验证服务器身份:首次连接核对并确认服务器主机密钥指纹,之后由known_hosts进行校验,防范中间人攻击。
- 使用SSH Agent管理私钥:在本地启动ssh-agent,用ssh-add加载私钥,避免在脚本或终端中暴露私钥。
- 采用SFTP/SCP进行文件传输:避免使用明文协议,统一通过 SSH 加密通道传输。
- 谨慎使用端口转发:仅在必要时启用本地/远程端口转发,并限制转发范围与用途。
四 快速实施清单
- 生成密钥:ssh-keygen -t rsa -b 4096 -C "you@example.com";将公钥追加到服务器~/.ssh/authorized_keys并设置权限。
- 修改配置:/etc/ssh/sshd_config 中设置Port 50022、PermitRootLogin no、PasswordAuthentication no、PubkeyAuthentication yes、MaxAuthTries 2、Protocol 2,必要时AllowUsers youruser。
- 防火墙放行:云平台安全组与系统防火墙均放行50022/tcp,仅对可信 IP 开放。
- 启动防护:安装并启用Fail2Ban(sshd 监狱,maxretry=5)。
- 验证与回滚:从新终端测试登录;保留一个已验证的备用端口/会话,确认无误后再关闭旧配置并重启sshd。