537 字
3 分钟
Debian 12 允许 SSH Root 远程登录配置方法
安全警告
在启用 root 远程登录前,请务必注意:
- 强烈建议使用密钥认证,禁用密码登录
- 确保设置强密码(至少 16 位,包含大小写字母、数字、特殊字符)
- 建议先创建普通用户并配置 sudo 权限
- 考虑修改 SSH 默认端口(22 → 其他端口)
- 配置防火墙限制访问 IP
- 安装 Fail2Ban 防止暴力破解
前提条件
- 已获取服务器的物理控制台访问权限(VNC/IPMI)
- 或已通过其他方式(如普通用户 SSH)连接到服务器
- 已设置 root 密码(如果未设置)
操作步骤
步骤一:设置 root 密码(如未设置)
# 以 root 用户执行passwd步骤二:修改 SSH 配置文件
编辑 /etc/ssh/sshd_config 文件:
sudo vim /etc/ssh/sshd_config找到以下配置项并修改:
# 允许 root 登录(将 prohibit-password 改为 yes)PermitRootLogin yes
# 如果使用密码认证,确保以下选项开启PasswordAuthentication yes
# 如果使用密钥认证,建议设置为 prohibit-password# PermitRootLogin prohibit-password或使用 sed 命令快速修改:
# 允许 root 密码登录sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_configsudo sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# 启用密码认证sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config步骤三:重启 SSH 服务
sudo systemctl restart sshd步骤四:验证配置
不要关闭当前会话! 新开一个终端窗口测试连接:
# 测试 root 登录ssh root@your-server-ip
# 如果修改了端口ssh -p 2222 root@your-server-ip推荐的安全加固措施
1. 使用密钥认证(强烈推荐)
# 本地生成密钥对ssh-keygen -t ed25519
# 上传公钥到服务器ssh-copy-id -p 22 root@your-server-ip
# 修改配置禁用密码登录sudo vim /etc/ssh/sshd_config# 禁用密码认证PasswordAuthentication no
# 只允许密钥登录PubkeyAuthentication yesPermitRootLogin prohibit-password2. 修改 SSH 端口
sudo vim /etc/ssh/sshd_config# 修改为自定义端口(如 2222)Port 2222# 重启 SSHsudo systemctl restart sshd3. 配置防火墙
# UFW (Ubuntu/Debian)sudo ufw allow 2222/tcpsudo ufw enable
# Firewalld (CentOS/RHEL)sudo firewall-cmd --permanent --add-port=2222/tcpsudo firewall-cmd --reload4. 安装 Fail2Ban
# 安装sudo apt update && sudo apt install fail2ban -y
# 启动并设置开机自启sudo systemctl enable --now fail2ban
# 查看状态sudo systemctl status fail2ban参考资料
Debian 12 允许 SSH Root 远程登录配置方法
https://blog.xeu.asia/posts/debian12-ssh-root/