控制台重置密码只是修改了系统层面的凭证,如果 SSH 服务配置禁止了密码登录或 root 登录,重置后依然无法远程连接,建议先通过控制台 VNC 登录检查 SSH 配置。
先说结论:重置密码不等同于开启密码登录权限,甲骨文云默认安全策略可能禁止了 root 密码登录,需手动修改 SSH 配置并确认安全组放行。
- 先确认:能否通过控制台远程登录(VNC)进入系统
- 先处理:检查并修改/etc/ssh/sshd_config 配置文件
- 再验证:确认安全组端口 22 已放行且 SSH 服务已重启
命令速用版
如果已通过控制台登录,可尝试执行以下命令开启 root 密码登录权限(需谨慎操作):
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config sudo service sshd restart
若仍不成功,检查配置文件中是否包含以下行,如有需注释掉:
# Include /etc/ssh/sshd_config.d/*.conf
为什么会这样
云平台重置密码通常只修改了用户凭证,但远程登录还受限于 SSH 服务配置。甲骨文云出于安全考虑,默认可能限制 root 用户通过密码登录,或者 SSH 配置文件中包含了其他禁止密码登录的规则。此外,网络安全组未放行 22 端口或账户因多次尝试被锁定,也会导致重置密码后依旧无法登录。
分步处理
1. 通过控制台登录
在云主机控制台点击【远程登录】或【VNC 登录】,使用重置后的密码尝试进入系统。如果控制台也登录失败,可能需要再次重置或检查文件系统是否损坏。
2. 检查 SSH 配置
登录后打开/etc/ssh/sshd_config 文件,确认 PermitRootLogin 和 PasswordAuthentication 均为 yes。注意检查是否有 Include 指令引入了其他配置文件覆盖了当前设置。
3. 重启 SSH 服务
修改配置后必须重启 SSH 服务才能生效,执行 sudo service sshd restart。
4. 排查安全组
在控制台检查安全组规则,确保入方向放行了 TCP 22 端口(Linux)或 3389 端口(Windows)。
怎么验证是否生效
使用本地终端或 SSH 客户端(如 Xshell、Putty)尝试连接服务器公网 IP。如果不再提示 Permission denied 或 Connection timed out,且能成功输入密码进入系统,即表示修复成功。
常见坑
1. 配置文件包含冲突
/etc/ssh/sshd_config 中可能通过 Include 指令加载了其他配置,导致修改主文件无效,需注释掉 Include 行或修改被包含的文件。
2. 账户锁定
多次密码错误可能导致账户被临时锁定,需等待一段时间或通过控制台解锁后再试。
3. 文件系统损坏
强制关机后可能遇到文件系统损坏,导致启动失败或远程登录提示 Checking filesystems FAILED,需通过控制台修复。
参考来源
- SSH 无法登录云主机
- Oracle 甲骨云 服务器 开启 root 密码登录 失败原因
- 云主机无法远程登录自查
- 远程连接 FAQ