为什么我无法通过 SSH 登录到虚拟服务器?
您无法使用 SSH 登录到虚拟服务器。
无法使用 SSH 登录到虚拟服务器的原因有多种。
- 已禁用通过 root 用户 SSH 进行的远程登录。
- 未针对 SSH 配置端口
- 防火墙正在阻止 SSH 流量
- 安全组正在阻止 SSH 流量
要尝试使用 SSH 解决登录问题,请尝试执行以下故障诊断任务:
-
已禁用 root 用户通过 SSH 进行的远程登录
在服务器的 SSH 配置 (/etc/ssh/sshd_config) 中,可能会禁用 root 用户通过 SSH 进行的远程登录。 使用以下指示信息来启用 SSH 以进行 root 用户登录。
出于安全原因,我们建议您不要对远程 SSH 登录启用 root 用户。 请改为创建用于远程 SSH 登录的非 root 用户。
-
登录到虚拟服务器的 KVM IPMI 控制台。
-
以 root 用户身份编辑 /etc/ssh/sshd_config 中的 sshd_config 文件
nano /etc/ssh/sshd_config
-
在文件的 认证 部分中添加一行,内容为 PermitRootLogin yes。 此行可能存在,并使用 "#" 注释掉。 在此示例中,除去 "#"。
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
-
保存更新后的 /etc/ssh/sshd_config 文件。
-
重新启动 sshd 服务。
- 对于 Ubuntu 或 Debian Linux,请运行
sudo systemctl restart ssh.service
。 - RHEL 和 CentOS Linux 用户运行
sudo systemctl restart sshd.service
。
- 对于 Ubuntu 或 Debian Linux,请运行
-
-
未针对 SSH 配置端口
在
/etc/ssh/sshd_config
文件中检查为 SSH 配置的端口号。 缺省情况下,使用端口 22 配置 SSH。 但是,出于安全原因,管理员可能会更改端口。 -
防火墙正在阻止 SSH 流量
您的防火墙可能会阻止 SSH 端口流量。 有关更多信息,请参阅 允许 SSH 和对公用子网执行 ping 操作。
-
安全组正在阻止 SSH 流量
如果使用安全组来保护虚拟服务器,那么需要允许 SSH 流量。 有关更多信息,请参阅 创建安全组和规则。