在当今的网络环境中,远程管理 Linux 服务器最常用的方式就是通过 SSH(Secure Shell)。然而,如果配置不当,SSH 服务可能成为攻击者入侵系统的入口。本文将手把手教你如何在 Debian 系统 上进行 sshd 安全配置,即使是 Linux 小白也能轻松上手!

默认安装的 OpenSSH 服务虽然可用,但存在一些安全隐患,例如:
通过合理的 Debian sshd安全配置,可以大幅降低被暴力破解或未授权访问的风险。
确保你已通过 SSH 登录到 Debian 服务器,并拥有 sudo 权限。建议在操作前先创建一个普通用户账户,以防配置错误导致无法登录。
# 创建普通用户(如尚未创建)sudo adduser yourusername# 将用户加入 sudo 组sudo usermod -aG sudo yourusername在修改任何配置前,务必备份原始文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak使用你喜欢的编辑器(如 nano)打开配置文件:
sudo nano /etc/ssh/sshd_config在配置文件中,找到或添加以下设置:
# 禁止 root 用户直接登录PermitRootLogin no# 仅允许特定用户登录(可选,推荐)AllowUsers yourusername# 禁用密码认证,改用密钥认证(更安全)PasswordAuthentication no# 启用公钥认证PubkeyAuthentication yes# 指定密钥文件路径(通常默认即可)AuthorizedKeysFile .ssh/authorized_keys# 修改默认端口(可选,减少自动化扫描)Port 2222# 限制协议版本为 SSHv2Protocol 2# 设置登录超时时间(单位:秒)ClientAliveInterval 300ClientAliveCountMax 2# 禁用空密码登录PermitEmptyPasswords no# 禁用 X11 转发(除非你需要图形界面)X11Forwarding no# 限制最大并发未认证连接数MaxStartups 3:50:10注意: 如果你选择禁用密码认证(
PasswordAuthentication no),请务必先配置好 SSH 密钥登录,否则可能被锁在服务器外!
在本地电脑生成密钥对(Windows 可用 PuTTYgen,Linux/macOS 用 ssh-keygen):
# 在本地终端执行ssh-keygen -t ed25519 -C "your_email@example.com"将公钥(通常是 ~/.ssh/id_ed25519.pub)内容复制到服务器的 ~/.ssh/authorized_keys 文件中:
# 在服务器上执行mkdir -p ~/.sshchmod 700 ~/.sshecho "你的公钥内容" >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys保存配置文件后,重启 SSH 服务使更改生效:
sudo systemctl restart ssh⚠️ 重要提示: 不要关闭当前 SSH 会话!先打开一个新的终端窗口测试新配置是否生效。如果使用了非默认端口(如 2222),连接命令为:
ssh -p 2222 yourusername@your_server_ip通过以上步骤,你已经完成了基础的 Debian系统安全加固,特别是针对 SSH 服务的防护。记住,安全是一个持续的过程,定期审查日志(/var/log/auth.log)和更新策略至关重要。
希望这篇 sshd配置教程能帮助你构建一个更安全的服务器环境。如果你是初学者,建议先在测试环境中练习,再应用到生产服务器。
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127332.html