Loading...

文章背景图

Linux 开启 root 远程登录完整指南

2026-06-15
16
-
- 分钟
|

在 Linux 系统中,root 账户拥有最高权限,可以执行任何系统级操作。出于安全考虑,有些方式安装或发行的系统(例如:Fnos、Debain、Ubutnu)默认禁用了 root 账户的 SSH 远程登录。

这导致用户在使用 Xshell、WinSCP、FinalShell 等工具管理文件时,只能先以普通用户登录,再通过 sudo -i 提权,操作繁琐且效率低下。本教程将指导你安全地开启 root 远程登录功能。

本文默认使用nano作为文本编辑器,实际操作时可以自由使用自己喜欢的编辑器例如:vi、vim等

一、懒人专用方案(一行命令解决)

如果你已经了解风险,只想快速解决问题,直接复制执行以下命令:

 sudo passwd root && sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config && sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config && sudo systemctl restart sshd && echo "✅ root 远程登录已开启"

执行流程: 设置 root 密码 → 修改 SSH 配置 → 重启服务 → 完成提示

⚠️ 执行后会提示你输入并确认 root 密码,然后自动完成所有配置。

如果你不需要设置root密码 就把开头的部分(sudo passwd root &&)删了也就是变成

 sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config && sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config && sudo systemctl restart sshd && echo "✅ root 远程登录已开启"

二、手动配置

1:设置 root 密码

系统默认可能未设置 root 密码,需先配置:

 # 设置 root 密码(输入时不会显示字符)
 sudo passwd root

验证密码是否生效:

 su - root
 # 输入刚设置的密码,成功切换即表示配置正确
 exit  # 验证完成后退出 root 账户

2:修改 SSH 配置文件

SSH 服务的核心配置文件位于 /etc/ssh/sshd_config,需要修改两个关键参数:

 # 使用 nano 编辑器打开配置文件(新手友好)
 sudo nano /etc/ssh/sshd_config

修改参数:PermitRootLogin

找到以下配置行(可能在文件末尾或注释状态):

 #PermitRootLogin prohibit-password  # 默认可能是这行(被注释)
 # 或
 PermitRootLogin no                  # 或这行

修改为:

 PermitRootLogin yes                 # 允许 root 使用密码登录

⚠️ 安全提示PermitRootLogin yes 仅建议在受信任的内网环境使用。如需更高安全性,可考虑使用密钥认证(PermitRootLogin prohibit-password + 配置 SSH 密钥)。

修改参数:PasswordAuthentication

确保以下配置未被注释且值为 yes

 PasswordAuthentication yes

3:保存并重启 SSH 服务

nano 编辑器操作:

  • Ctrl + O → 按 Enter 保存

  • Ctrl + X 退出

重启 SSH 服务使配置生效:

 sudo systemctl restart sshd
 # 或
 sudo service ssh restart

三、验证连接

  1. 断开当前 SSH 会话

  2. 使用 root 账户重新连接,输入设置的密码

  3. 测试文件管理功能(如 WinSCP 的图形化文件操作)


四、安全建议

场景

建议配置

内网/家庭环境

PermitRootLogin yes 可接受

公网暴露

强烈建议使用密钥认证,禁用密码登录

临时开启

配置完成后及时关闭或限制 IP

如需关闭 root 登录:

 sudo nano /etc/ssh/sshd_config
 # 将 PermitRootLogin yes 改回 no
 sudo systemctl restart sshd

原创

Linux 开启 root 远程登录完整指南

本文链接: Linux 开启 root 远程登录完整指南

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

文章目录