537 字
3 分钟
Debian 12 允许 SSH Root 远程登录配置方法

安全警告#

在启用 root 远程登录前,请务必注意:

  1. 强烈建议使用密钥认证,禁用密码登录
  2. 确保设置强密码(至少 16 位,包含大小写字母、数字、特殊字符)
  3. 建议先创建普通用户并配置 sudo 权限
  4. 考虑修改 SSH 默认端口(22 → 其他端口)
  5. 配置防火墙限制访问 IP
  6. 安装 Fail2Ban 防止暴力破解

前提条件#

  • 已获取服务器的物理控制台访问权限(VNC/IPMI)
  • 或已通过其他方式(如普通用户 SSH)连接到服务器
  • 已设置 root 密码(如果未设置)

操作步骤#

步骤一:设置 root 密码(如未设置)#

Terminal window
# 以 root 用户执行
passwd

步骤二:修改 SSH 配置文件#

编辑 /etc/ssh/sshd_config 文件:

Terminal window
sudo vim /etc/ssh/sshd_config

找到以下配置项并修改:

Terminal window
# 允许 root 登录(将 prohibit-password 改为 yes)
PermitRootLogin yes
# 如果使用密码认证,确保以下选项开启
PasswordAuthentication yes
# 如果使用密钥认证,建议设置为 prohibit-password
# PermitRootLogin prohibit-password

或使用 sed 命令快速修改:

Terminal window
# 允许 root 密码登录
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo 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 服务#

Terminal window
sudo systemctl restart sshd

步骤四:验证配置#

不要关闭当前会话! 新开一个终端窗口测试连接:

Terminal window
# 测试 root 登录
ssh root@your-server-ip
# 如果修改了端口
ssh -p 2222 root@your-server-ip

推荐的安全加固措施#

1. 使用密钥认证(强烈推荐)#

Terminal window
# 本地生成密钥对
ssh-keygen -t ed25519
# 上传公钥到服务器
ssh-copy-id -p 22 root@your-server-ip
# 修改配置禁用密码登录
sudo vim /etc/ssh/sshd_config
Terminal window
# 禁用密码认证
PasswordAuthentication no
# 只允许密钥登录
PubkeyAuthentication yes
PermitRootLogin prohibit-password

2. 修改 SSH 端口#

Terminal window
sudo vim /etc/ssh/sshd_config
Terminal window
# 修改为自定义端口(如 2222)
Port 2222
Terminal window
# 重启 SSH
sudo systemctl restart sshd

3. 配置防火墙#

Terminal window
# UFW (Ubuntu/Debian)
sudo ufw allow 2222/tcp
sudo ufw enable
# Firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

4. 安装 Fail2Ban#

Terminal window
# 安装
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/
作者
Xeu
发布于
2025-05-05
许可协议
CC BY-NC-SA 4.0