以下是高防服务器SSH的使用技巧,涵盖安全配置与性能优化:
### 一、安全配置技巧
1. 强化认证机制
- 禁用密码登录,仅允许密钥认证:在/etc/ssh/sshd_config中设置PasswordAuthentication no,并确保PubkeyAuthentication yes。
- 禁用root远程登录:设置PermitRootLogin no,使用普通用户登录后通过sudo提权。
2. 端口与访问控制
- 修改默认SSH端口(如改为1024-65535间的高位端口),并在防火墙中限制仅允许特定IP访问该端口。
- 使用AllowUsers或AllowGroups限制可登录的用户/用户组。
3. 防暴力破解
- 启用Fail2Ban等工具,监控失败登录尝试并自动封禁IP。
- 设置MaxAuthTries限制最大认证尝试次数(如3次),并缩短LoginGraceTime(如1分钟)。
4. 协议与加密优化
- 强制使用SSHv2协议:设置Protocol 2。
- 采用安全的加密算法(如aes256-gcm、chacha20-poly1305)和密钥交换算法(如curve25519-sha256)。
### 二、性能优化技巧
1. 连接效率提升
- 启用SSH多路复用:在客户端~/.ssh/config中配置ControlMaster auto,复用已建立的连接,减少握手开销。
- 禁用DNS反向解析:设置UseDNS no,避免连接时因DNS查询延迟。
2. 传输优化
- 启用压缩:在客户端命令中添加-C参数,或配置Compression yes,减少数据传输量。
- 调整TCP参数:增大ClientAliveInterval(如60秒)和ClientAliveCountMax(如3次),保持长连接稳定性。
### 三、安全运维建议
- 日志监控:定期查看/var/log/auth.log或/var/log/secure,分析异常登录行为。
- 密钥管理:定期轮换密钥,避免私钥泄露;使用ssh-keygen -t ed25519生成更安全的密钥对。
- 最小权限原则:仅授予用户必要的权限,避免通过SSH执行高权限操作。
参考来源: