在 Ubuntu 22.04 中,默认情况下,SSH 服务是禁止使用 root
用户直接登录的,这是出于安全考虑。如果你确实需要使用 root
用户通过 SSH 登录,可以按照以下步骤进行配置。
1. 确保 root
用户已设置密码
默认情况下,Ubuntu 的 root
用户是没有密码的。你需要先为 root
用户设置密码:
sudo passwd root
输入当前用户的密码,然后为 root
用户设置一个新密码。
2. 修改 SSH 配置文件
编辑 SSH 配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
找到以下行:
#PermitRootLogin prohibit-password
将其修改为:
PermitRootLogin yes
保存并退出编辑器(在 nano
中按 Ctrl + O
保存,按 Ctrl + X
退出)。
3. 重启 SSH 服务
修改配置后,需要重启 SSH 服务以使更改生效:
sudo systemctl restart ssh
4. 测试 root
用户登录
现在,你可以尝试使用 root
用户通过 SSH 登录:
ssh root@your_server_ip
输入之前为 root
用户设置的密码,即可登录。
5. (可选)恢复默认安全设置
为了系统安全,建议在完成操作后恢复默认设置,禁止 root
用户直接登录。将 /etc/ssh/sshd_config
中的 PermitRootLogin
改回:
PermitRootLogin prohibit-password
然后重启 SSH 服务:
sudo systemctl restart ssh
6. 使用普通用户登录后切换为 root
为了安全,建议使用普通用户登录 SSH,然后通过 sudo
或 su
切换到 root
用户:
ssh your_user@your_server_ip sudo -i
或者:
ssh your_user@your_server_ip su - root
注意事项
-
直接允许
root
用户登录 SSH 会增加系统安全风险,建议仅在必要时启用。 -
如果启用了 SSH 密钥认证,确保
root
用户的密钥配置正确。 -
如果仍然无法登录,请检查防火墙设置(如
ufw
)是否允许 SSH 连接。
希望以上步骤能帮助你解决问题!