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 を有効にする場合は、以下の手順を使用します。
-
IPMI リモート・コンソールを使用してベア・メタル・サーバーにログインします。
-
root として、
/etc/ssh/sshd_configvi/etc/ssh/sshd_config
内のsshd_config
ファイルを編集します。 -
ファイルの「認証」セクションに、
PermitRootLogin yes
を含む行を追加します。 この行は「#」でコメント化されている可能性があります。 コメント化されている場合は、「#」を削除します。#LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10
-
更新した
/etc/ssh/sshd_config
ファイルを保存します。 -
SSH サービスを再始動します。
- Ubuntu または Debian Linux の場合は、
sudo systemctl restart ssh.service
を実行します。 - RHEL および CentOS Linux の場合は、
sudo systemctl restart sshd.service
を実行します。
- Ubuntu または Debian Linux の場合は、
-
サービスが再始動したら、ログインします。
-
-
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 サービスが実行されていない場合は、以下の手順で開始します。-
以下のいずれかのコマンドを使用して、サービスを再始動します。
- Ubuntu または Debian Linux の場合は、
sudo systemctl start ssh.service
を実行します。 - RHEL および CentOS Linux の場合は、
sudo systemctl start sshd.service
を実行します。
- Ubuntu または Debian Linux の場合は、
-
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
-