IBM Cloud Docs
为什么我无法通过 SSH 登录到虚拟服务器?

为什么我无法通过 SSH 登录到虚拟服务器?

您无法使用 SSH 登录到虚拟服务器。

无法使用 SSH 登录到虚拟服务器的原因有多种。

  • 已禁用通过 root 用户 SSH 进行的远程登录。
  • 未针对 SSH 配置端口
  • 防火墙正在阻止 SSH 流量
  • 安全组正在阻止 SSH 流量

要尝试使用 SSH 解决登录问题,请尝试执行以下故障诊断任务:

  • 已禁用 root 用户通过 SSH 进行的远程登录

    在服务器的 SSH 配置 (/etc/ssh/sshd_config) 中,可能会禁用 root 用户通过 SSH 进行的远程登录。 使用以下指示信息来启用 SSH 以进行 root 用户登录。

    出于安全原因,我们建议您不要对远程 SSH 登录启用 root 用户。 请改为创建用于远程 SSH 登录的非 root 用户。

    1. 登录到虚拟服务器的 KVM IPMI 控制台。

    2. 以 root 用户身份编辑 /etc/ssh/sshd_config 中的 sshd_config 文件

      nano /etc/ssh/sshd_config

    3. 在文件的 认证 部分中添加一行,内容为 PermitRootLogin yes。 此行可能存在,并使用 "#" 注释掉。 在此示例中,除去 "#"。

      #LoginGraceTime 2m

      PermitRootLogin yes

      #StrictModes yes

      #MaxAuthTries 6

      #MaxSessions 10

    4. 保存更新后的 /etc/ssh/sshd_config 文件。

    5. 重新启动 sshd 服务。

      • 对于 Ubuntu 或 Debian Linux,请运行 sudo systemctl restart ssh.service
      • RHEL 和 CentOS Linux 用户运行 sudo systemctl restart sshd.service
  • 未针对 SSH 配置端口

    /etc/ssh/sshd_config 文件中检查为 SSH 配置的端口号。 缺省情况下,使用端口 22 配置 SSH。 但是,出于安全原因,管理员可能会更改端口。

  • 防火墙正在阻止 SSH 流量

    您的防火墙可能会阻止 SSH 端口流量。 有关更多信息,请参阅 允许 SSH 和对公用子网执行 ping 操作

  • 安全组正在阻止 SSH 流量

    如果使用安全组来保护虚拟服务器,那么需要允许 SSH 流量。 有关更多信息,请参阅 创建安全组和规则