IBM Cloud Docs
SSH を使用してベア・メタル・サーバーにログインできないのは何ですか?

SSH を使用してベア・メタル・サーバーにログインできないのは何ですか?

SSH を使用してベア・メタル・サーバーにログインすることはできません。

SSH を使用してベア・メタル・サーバーにログインできない場合は、以下のいずれかの理由が原因である可能性があります。

  • VPN はベア・メタル・サーバーに接続されていません。これは、SSH を使用してプライベート IP に接続する場合にのみ適用されます。
  • SSH ログインは、root ユーザーに対して無効になっています。
  • SSH ポート番号が変更されました。
  • オペレーティング・システムのファイアウォールが SSH トラフィックをブロックしています。
  • ネットワーク・ファイアウォールが SSH トラフィックをブロックしています。
  • SSH サービスが実行されていません。

以下のいずれかの解決策を使用して、この問題を修正してください。

  • VPN はベア・メタル・サーバーに接続されていません

    SSH を使用してサーバーのプライベート IP にログインするには、 IBM Cloud 仮想プライベート・ネットワーキングの概要 の説明に従って、 IBM Cloud® への SSL VPN 接続を確立する必要があります。

    IBM Cloud® DNS リゾルバー IP ( 10.0.80.11 および 10.0.80.12) に ping を送信することで、VPN 接続が機能しているかどうかを確認できます。 正常に実行された場合、VPN 接続は機能しています。

  • SSH ログインは、root ユーザーに対して無効になっています。

    セキュリティー上の理由から、root ユーザーの SSH を介したリモート・ログインは、サーバーの SSH 構成 (/etc/ssh/sshd_config) で無効になっている可能性があります。

    root ユーザーに対してリモート SSH ログインを有効にしないことをお勧めします。 代わりに、リモート SSH ログイン用に root 以外のユーザーを作成してください。 ただし、root ユーザーに対してサーバーへの SSH を有効にする場合は、以下の手順を使用します。

    1. IPMI リモート・コンソールを使用してベア・メタル・サーバーにログインします。

    2. root として、 /etc/ssh/sshd_configvi/etc/ssh/sshd_config 内の sshd_config ファイルを編集します。

    3. ファイルの「認証」セクションに、 PermitRootLogin yes を含む行を追加します。 この行は「#」でコメント化されている可能性があります。 コメント化されている場合は、「#」を削除します。

      #LoginGraceTime 2m
      PermitRootLogin yes
      #StrictModes yes
      #MaxAuthTries 6
      #MaxSessions 10
      
    4. 更新した /etc/ssh/sshd_config ファイルを保存します。

    5. SSH サービスを再始動します。

      • Ubuntu または Debian Linux の場合は、 sudo systemctl restart ssh.service を実行します。
      • RHEL および CentOS Linux の場合は、 sudo systemctl restart sshd.service を実行します。
    6. サービスが再始動したら、ログインします。

  • SSH ポート番号が変更されました

    セキュリティー上の理由から、管理者が、使用する SSH ポートをデフォルトのポート 22 から別のポート番号に変更した可能性があります。

    IPMI リモート・コンソールを使用してサーバーにログインすることにより、SSH 用に構成されているポート番号を確認できます。 次に、 /etc/ssh/sshd_config ファイルで「Port」を含む行を検索します。

    ポートがデフォルトから変更された場合は、以下のコマンドを実行します。ここで、 IP_ADDRESS はサーバーの IP アドレス、 PORT_NUMBER は新規ポート番号です。

    ssh root@IP_ADDRESS -p ssh-PORT_NUMBER
    
  • オペレーティング・システムのファイアウォールが SSH トラフィックをブロックしています

    1 つ以上の iptables エントリーが SSH トラフィックをブロックしている可能性があります。 オペレーティング・システムのファイアウォールが問題であるかどうかを確認するために、 iptables を一時的に無効にすることができます。 iptables を無効にするには、以下のいずれかの編集を行います。

      ```sh {: pre}
      # /etc/rc.d/init.d/iptables stop or
      # /etc/rc.d/init.d/ip6tables stop
    
      # chkconfig iptables off or
      # chkconfig ip6tables off
      ```
    

    iptables を無効にした後に SSH を使用してサーバーにアクセスできる場合は、 iptables ルールを確認し、適切な変更を行う必要があります。

  • ネットワーク・ファイアウォールが SSH トラフィックをブロックしています

    ファイアウォールがサーバーへの SSH トラフィックをブロックしている可能性があります。

    ローカル・ワークステーションからベア・メタル・サーバーへの traceroute を実行することで、ファイアウォールがトラフィックをブロックしているかどうかをテストできます。 traceroute が停止する IP アドレスに注意してください。 それが、使用しているファイアウォールまたはゲートウェイの IP アドレスである場合は、その IP アドレスがアクセスをブロックしている可能性があります。 ガイダンスについては、ファイアウォール管理者にお問い合わせください。

    ファイアウォールが問題の原因であるかどうかをテストするもう 1 つの方法は、ファイアウォールを一時的にバイパスしてから、SSH を使用してサーバーにログインすることです。 ログインできる場合は、ファイアウォール管理者に連絡してガイダンスを求めてください。

  • SSH サービスが実行されていません

    IPMI リモート・コンソールを使用してベア・メタル・サーバーにログインし、 sudo systemctl status sshd を実行することで、SSH サービスが実行されているかどうかを確認できます。 SSH サービスが実行されていない場合は、以下の手順で開始します。

    1. 以下のいずれかのコマンドを使用して、サービスを再始動します。

      • Ubuntu または Debian Linux の場合は、 sudo systemctl start ssh.service を実行します。
      • RHEL および CentOS Linux の場合は、 sudo systemctl start sshd.service を実行します。
    2. SSH サービスが listen しており、正しいポートであることを確認してください。 ポートは、デフォルト・ポート 22 または SSH サービスが使用しているいずれかのポートです。 以下のコマンドを使用します。

      netstat -anlp | grep ssh
      

    以下の例では、ポート 22 を使用しています。

     netstat -anlp | grep ssh
    
     tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1125/sshd