修改SSH配置可提升安全性与连接体验。1. Port 2222减少攻击;2. ListenAddress指定监听IP;3. Protocol 2禁用不安全的SSH-1;4. PermitRootLogin no禁止root直连;5. PasswordAuthentication no关闭密码登录;6. PubkeyAuthentication yes启用密钥认证;7. AllowUsers限制登录用户;8. ClientAliveInterval 300和ClientAliveCountMax 3设置超时断开;9. MaxAuthTries 3防暴力破解;10. PermitEmptyPasswords no禁用空密码;11. AuthorizedKeysFile定义公钥路径;12. LogLevel INFO增强日志记录;13. UseDNS no加快连接;14. 启用StrictModes、IgnoreRhosts等安全选项。修改后需sshd -t测试配置并重启服务。

SSH(Secure Shell)是远程管理Linux系统最常用的协议之一。其中,sshd_config 是SSH服务端的主配置文件,控制着SSH守护进程(sshd)的行为。正确配置该文件不仅能提升安全性,还能优化连接体验。以下是对常见配置项的详细说明。
默认情况下,SSH服务监听在22端口。出于安全考虑,建议修改为非常用端口,减少自动化攻击。
Port 22修改后需重启sshd服务,并确保防火墙放行新端口。
指定sshd绑定的IP地址。适用于多网卡服务器,限制仅在特定接口监听。
ListenAddress 0.0.0.0IPv6使用 :: 表示所有地址。
建议使用SSH协议第2版,更安全。
Protocol 2SSH-1存在已知漏洞,不推荐启用。
直接允许root登录风险较高,建议关闭。
PermitRootLogin no通过普通用户登录后再su或sudo提权更安全。
是否允许密码登录。若使用密钥认证,建议关闭密码登录。
PasswordAuthentication no关闭前确保已配置好公钥登录,避免被锁在服务器外。
启用基于密钥的身份验证,通常与PasswordAuthentication配合使用。
PubkeyAuthentication yes用户的公钥保存在 ~/.ssh/authorized_keys 中。
限制可登录的用户,提高安全性。
AllowUsers alice bob charlie@192.168.1.*支持用户名、用户名+IP模式。也可用 AllowGroups 限制用户组。
防止连接长时间挂起或断线后无法重连。
ClientAliveInterval 300表示每300秒发送一次心跳,最多3次无响应则断开连接。
限制单次连接的认证尝试次数和会话数量。
MaxAuthTries 3防止暴力破解,合理设置避免误封正常用户。
禁止使用空密码的账户通过SSH登录。
PermitEmptyPasswords no即使系统中存在空密码用户,也不应允许其远程登录。
定义用户公钥存储位置,默认如下:
AuthorizedKeysFile .ssh/authorized_keys可自定义路径,但需注意权限和SELinux策略。
设置日志详细程度,便于排查问题。
LogLevel INFO日志通常记录在 /var/log/secure 或 /var/log/auth.log。
关闭DNS查询可加快连接速度。
UseDNS no否则sshd会尝试解析客户端IP的主机名,可能造成延迟。
这些选项有助于减少潜在攻击面。
修改sshd_config后,务必使用以下命令测试配置语法,避免服务启动失败:
sudo sshd -t确认无误后重启服务:
sudo systemctl restart sshd基本上就这些关键配置。合理设置能显著提升SSH服务的安全性和稳定性。
以上就是Linux SSH配置文件sshd_config详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号