
SSH 守护进程(sshd)负责监听并处理来自客户端的 SSH 连接请求
正确配置 sshd 不仅能够增强系统的安全性,还能优化性能,确保远程访问既快速又可靠
本文将深入探讨如何在 Linux 系统中更改 sshd 配置,以实现这些目标
一、理解 SSHD 配置文件 SSHD 的主要配置文件通常位于 `/etc/ssh/sshd_config`
这个文件包含了 sshd 服务的所有可配置选项,如认证方法、端口号、允许/拒绝访问的 IP 地址范围等
修改此文件前,建议备份原始配置,以防不慎导致服务无法启动
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 二、基本安全配置 1.更改默认端口 默认情况下,SSH 服务监听 TCP 端口 22
这是众所周知的事实,也是攻击者首要尝试的目标
通过更改 sshd 监听的端口号,可以显著降低被扫描和攻击的风险
在`sshd_config`文件中找到`Port 22` 行,将其更改为其他不常用的端口号(例如 2222): plaintext Port 2222 更改后,重启 sshd 服务使配置生效: bash sudo systemctl restart sshd 同时,确保防火墙规则允许新端口,并禁止旧的 22 端口
2.禁用密码认证,启用公钥认证 密码认证虽然方便,但安全性较低,易被暴力破解
建议禁用密码认证,仅允许使用公钥认证
在`sshd_config` 中设置: plaintext PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no 如果不需要 PAM 模块进行认证 并确保启用公钥认证: plaintext PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 3.限制允许访问的用户和 IP 地址 通过`AllowUsers`和 `DenyUsers`指令可以精确控制哪些用户能够访问 SSH 服务
同时,使用 `AllowUsers` 结合 IP 地址限制,可以进一步缩小访问范围
plaintext AllowUsers user1@192.168.1.100, user2@10.0.0. 或者全局限制特定 IP DenyUsers@192.168.1.101 4.设置登录超时和最大重试次数 限制登录尝试次数和设置超时,可以有效防止暴力破解攻击
plaintext LoginGraceTime 30 登录超时时间(秒) MaxStartups 10:30:60 并发未认证连接数限制 MaxAuthTries 4 最大密码尝试次数 三、性能优化配置 1.调整会话超时 通过调整会话的超时设置,可以释放长时间未活动的连接资源,提升系统性能
plaintext ClientAliveInterval 300 每 300 秒发送一次心跳包检查客户端存活 ClientAliveCountMax 0 禁用自动断开(设置为非零值表示断开前的失败心跳次数) 或者,如果希望自动断开空闲会话,可以设置 `ClientAliveCountMax` 为一个正整数,如 2,表示两次心跳包失败后断开连接
2.使用压缩 对于带宽有限的环境,启用 SSH 压缩可以加快数据传输速度
但请注意,压缩会增加 CPU 负载
plaintext Compression yes CompressionLevel 6 压缩级别,1-9,越高压缩率越好,CPU 负载也越高 3.调整内存使用 SSHD 使用了一些内存来缓存会话信息
根据服务器的内存容量,适当调整这些设置可以帮助优化性能
plaintext UseDNS no 禁用 DNS 解析,加快连接速度 GSSAPIAuthentication no 禁用 GSSAPI 认证,减少内存占用 四、高级安全实践 1.启用 Banner 信息 在登录前显示自定义的欢迎信息或警告信息,可以增强安全意识,也可能震慑潜在攻击者
plaintext Banner /etc/issue.net 在`/etc/issue.net`文件中添加你的自定义信息
2.使用防火墙规则增强安全 除了 sshd 配置本身,结合防火墙(如 iptables 或 firewalld)可以进一步加固安全
例如,仅允许特定 IP 地址访问 SSH 端口
bash sudo iptables -A INPUT -p tcp --dport 2222 -s 192.168.1.100 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 2222 -j DROP 3.定期审计和更新 定期检查`sshd_config` 文件和日志文件(如`/var/log/auth.log` 或`/var/log/secure`),以及应用最新的安全补丁,是保持系统安全的关键步骤
五、结论 通过细致地调整 Linux 系统中的 sshd 配置,不仅可以显著提升服务器的安全性,还能优化其性能,确保远程访问的高效与稳定
从更改默认端口、禁用密码认证到限制访问控制,再到性能调优和高级安全实践,每一步都是构建坚固防线不可或缺的环节
重要的是,实施这些更改时务必谨慎,确保不会意外锁定自己或其他合法用户
同时,持续监控和审计是维护系统安全的长期任务
记住,安全永远是一个动态的过程,而非一次性任务
VMWare运行iOS系统遭遇蓝屏?原因与解决方案揭秘!
Linux系统下更改SSHD配置指南
掌握VMware Web Access的高效使用技巧
云汐软件:电脑配置需求全解析
轻松指南:如何卸载云电脑中的软件
如何将电脑变身私人网络云存储
电脑文件夹云共享全攻略
VMWare运行iOS系统遭遇蓝屏?原因与解决方案揭秘!
Linux命令:高效复制文件夹技巧
揭秘Linux内核内幕:深度探索
Linux AMD平台性能优化指南
Linux系统下BT下载全攻略
Linux或成未来科技新宠儿
VMware封装版Kali Linux:一键部署,黑客工具箱的便捷之选
Linux技巧:轻松删除指定列数据
Linux上MySQL安装失败解决方案
VMware中如何优雅地退出Linux虚拟机操作指南
Linux Vim编辑器高效使用技巧
VMware 12.5.7 Linux系统深度解析