本トピックでは、Linux Elastic Compute Service (ECS) インスタンスで SSH サービスを起動する際に発生する可能性のある「Failed to start OpenSSH server daemon」エラーの解決方法について説明します。
問題の説明
Linux ECS インスタンスで SSH サービス (sshd.service) の起動に失敗します。systemctl status sshd.service コマンドを実行して SSH サービスの状態を確認すると、Failed to start OpenSSH server daemon というエラーが返されます。

原因
この問題は、デフォルトの SSH サービスポート (22) が別のアプリケーションによって使用されている場合に発生します。
解決策
この問題を解決するには、競合しているサービスのポートを変更するか、SSH サービスのポートを変更します。
Virtual Network Computing (VNC) を使用して Linux ECS インスタンスに接続します。
詳細については、「ECSインスタンスへの接続方法」をご参照ください。
デバッグモードで SSH サービスを起動します。
/sbin/sshd -d出力結果から、ポート 22 が使用中のため SSH サービスを起動できないことがわかります。

ポート 22 を使用しているプロセスを確認します。
ss -tunlp | grep 22次の出力は、NGINX サービスがポート 22 を使用していることを示しています。
重要この例では、NGINX サービスがポート 22 を使用しています。実際のポート競合は、異なるサービスが原因である可能性があります。

次のいずれかのソリューションを選択します。
NGINX サービスのポートを変更します。
nginx.conf設定ファイルを開きます。vim /etc/nginx/nginx.confNGINX のポートを 80 に変更します。

Escキーを押し、:wqと入力してからEnterキーを押してファイルを保存し、終了します。NGINX サービスを再起動します。
systemctl restart nginxSSH サービスを再起動します。
systemctl restart sshd.service
SSH サービスのポートを変更します。
ssh_config構成ファイルを開きます。vim /etc/ssh/sshd_configSSH サービスのポートを、たとえば 2222 に変更します。

Escキーを押し、:wqと入力してからEnterキーを押してファイルを保存し、終了します。SSH サービスを再起動します。
systemctl restart sshd.service