Linux SSH 连接安全配置
封面图
•
2025-11-07
•
Linux
171
0
0
0
在 Linux 系统中,SSH(Secure Shell)是远程连接和管理服务器的主要方式。为了提高安全性,建议对 SSH 进行以下配置: --- ## 🔒 一、SSH 安全配置建议 ### 1. **修改默认端口** - 默认的 SSH 端口是 `22`,攻击者常扫描这个端口。 - 修改为一个非标准端口(如 `2222`)可以降低被扫描的风险。 **配置文件:** `/etc/ssh/sshd_config` ```bash Port 2222 ``` > ⚠️ 注意:确保防火墙允许该端口。 --- ### 2. **禁用 root 登录** - 允许 root 登录会增加系统风险。 ```bash PermitRootLogin no ``` --- ### 3. **使用密钥认证代替密码登录** - 密码登录容易被暴力破解。 #### 配置步骤: 1. 在客户端生成密钥对: ```bash ssh-keygen -t rsa -b 4096 ``` 2. 将公钥复制到服务器: ```bash ssh-copy-id user@server_ip ``` 3. 在服务器上配置: ```bash PubkeyAuthentication yes PasswordAuthentication no ``` --- ### 4. **限制用户登录** - 只允许特定用户通过 SSH 登录。 ```bash AllowUsers user1 user2 ``` --- ### 5. **设置 SSH 超时时间** - 自动断开长时间无操作的连接。 ```bash ClientAliveInterval 600 ClientAliveCountMax 0 ``` --- ### 6. **启用 SSH 访问控制(IP 白名单)** - 使用 `AllowUsers` 或 `DenyUsers` 配合 IP 地址限制访问。 ```bash Match User user1 Hostname 192.168.1.0/24 ``` --- ### 7. **关闭协议版本 1** - SSH 协议版本 1 存在漏洞。 ```bash Protocol 2 ``` --- ### 8. **启用日志记录** - 记录所有 SSH 登录尝试,便于审计。 ```bash LogLevel VERBOSE ``` --- ## 🛡️ 二、防火墙配置(推荐使用 `ufw` 或 `iptables`) ### 使用 `ufw`(Ubuntu/Debian): ```bash sudo ufw allow 2222/tcp sudo ufw enable ``` ### 使用 `iptables`(通用): ```bash sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j DROP ``` --- ## 🧩 三、其他安全建议 | 项目 | 建议 | |------|------| | 使用 `fail2ban` | 防止暴力破解 | | 定期更新系统 | 防止已知漏洞 | | 不要使用弱密码 | 强密码或使用密钥 | | 使用 `chroot` | 限制用户权限 | | 备份配置文件 | 避免误操作导致服务中断 | --- ## ✅ 四、重启 SSH 服务 修改完配置后,需要重启 SSH 服务: ```bash sudo systemctl restart sshd # 或 sudo service ssh restart ``` --- ## 📦 五、工具推荐 - **Fail2Ban**:自动封禁暴力破解尝试。 - **OpenSSH**:默认的 SSH 服务,无需额外安装。 - **SSHGuard**:实时阻止恶意 IP。 --- 如果你有具体的 Linux 发行版(如 Ubuntu、CentOS、Debian),我可以提供更详细的配置示例。 是否需要我帮你生成一份完整的 `sshd_config` 配置文件?
上一篇:
Linux 防火墙端口设置
下一篇:
linux解压 tar命令
标题录入,一次不能超过6条
留言
评论