「OpenSSH サーバーデーモンの起動に失敗しました」エラーが表示された場合の対処方法

問題の現象


Linux システムの ECS インスタンスで、SSH サービス (sshd.service) が起動できません。systemctl status sshd.service を実行して SSH サービスの状態を確認すると、「OpenSSH サーバーデーモンの起動に失敗しました」というエラーが表示されます。

sshd のステータス

問題の原因


この問題は、SSH サービスのポート (22) が他のサービスに占有されていることが原因である可能性があります。

解決策


ポート 22 を占有しているサービスのポート番号を変更するか、業務要件に応じて SSH サービスのポート番号を変更することで、この問題を解決できます。

1. VNC を使用して ECS インスタンスにリモート接続します。

2. 次のコマンドを実行して、SSH サービスをテストモードで起動します。

/sbin/sshd -d

次のような情報が表示され、ポート 22 が占有されているため SSH サービスが起動できないことが示されます。

3. 次のコマンドを実行して、ポート 22 の使用状況を確認します。

ss -tunlp | grep 22

次のような情報が表示され、ポート 22 が Nginx サービスに占有されていることが確認できます。

重要: この記事でポート 22 が Nginx サービスに占有されている例は一例です。実際の環境に合わせてご確認ください。

Nginx によるポート 22 の占有

4. 必要に応じて適切な解決策を選択し、問題を解決できます。

4.1 Nginx サービスのポート番号を変更する

次のコマンドを実行して、nginx.conf 設定ファイルを開きます。

vim /etc/nginx/nginx.conf

Nginx が占有しているポート番号を 80 に変更します。

Nginx が使用するポートの変更

Esc キーを押した後、:wq と入力して Enter キーを押し、設定ファイルを保存して閉じます。

次のコマンドを実行して、Nginx サービスを再起動します。

systemctl restart nginx

次のコマンドを実行して、SSH サービスを再起動します。

systemctl restart sshd.service

4.2 SSH サービスのポート番号を変更する

次のコマンドを実行して、sshd_config 設定ファイルを開きます。

vim /etc/ssh/sshd_config

SSH サービスのポート番号を変更します。たとえば、2222 に変更します。

SSH が使用するポートの変更

Esc キーを押した後、:wq と入力して Enter キーを押し、設定ファイルを保存して閉じます。

次のコマンドを実行して、SSH サービスを再起動します。

関連記事

特別なオファーをもっと見る

  1. Short Message Service (SMS) & メールサービス

    50,000 通のメールパッケージは USD 1.99 から、120 通のショートメッセージは USD 1.00 からご利用いただけます

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.