すべてのプロダクト
Search
ドキュメントセンター

:SSH の起動に失敗したときの 'Bad configuration options' エラーを解決する

最終更新日:Oct 25, 2025

原因

SSH 設定ファイルのエラーにより、サービスが起動できなくなることがあります:

  • 構文エラー: 設定オプションのスペルが間違っているか、その値が許容範囲外または事前定義されたリスト (例: on/off、true/false、または特定の数値範囲) の外にあります。

  • ファイルエンコーディングエラー: ファイルにバイトオーダーマーク (BOM) が含まれているか、CRLF 改行コードが使用されています。

解決策

解決策 1: SSH 設定ファイルのエラーを修正する

  1. VNC 接続を使用して ECS インスタンスにログインします。

    1. ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. 対象インスタンスの詳細ページに移動します。[接続] をクリックし、[VNC] を選択します。ユーザー名とパスワードを入力して ECS インスタンスにログインします。

  2. SSH サービスの設定を診断します。

    sudo /usr/sbin/sshd -t

    コマンドによって返されたエラーメッセージを分析します。メッセージには、ファイル、行番号、およびエラーの種類が指定されています:

    # 例 1: 非推奨の設定項目が使用されている
    /etc/ssh/sshd_config: line 82: Bad configuration option: RSAAuthentication
    
    # 例 2: 設定項目の値が正しくない
    /etc/ssh/sshd_config: line 23: bad value for Port "222222"
  3. 設定ファイルを変更します。

    sudo vim /etc/ssh/sshd_config
    • 非推奨の設定オプションの処理: OpenSSH の更新により、古いオプションが非推奨になることがあります。関連する行をコメントアウトするか削除します。

      • RSAAuthentication: OpenSSH 7.0 以降では非推奨です。

      • UsePrivilegeSeparation: OpenSSH 7.5 以降では非推奨です。これは現在デフォルトになっているためです。

    • 構文エラーの修正: エラーメッセージを使用して、指定された行の無効な構文または値を検索して修正します。

    • ファイルエンコーディングの確認と修正: Windows システムからコピーされた設定ファイルには、バイトオーダーマーク (BOM) が含まれていたり、CRLF 改行コードが使用されていたりすることがあり、これらが解析の失敗を引き起こします。

      • 改行コードのフォーマットを確認するには: :set fileformat? と入力します。
        出力が fileformat=dos の場合、ファイルには CRLF 改行コードが含まれています。修正するには、:set fileformat=unix と入力します。

      • BOM を確認するには: :set bomb? と入力します。
        出力が bomb の場合、ファイルには BOM が含まれています。修正するには、:set nobomb と入力します。

    これらの問題が見つからない場合、または設定ファイルが著しく破損している場合は、SSH サービスを再インストールできます。

  4. 設定を検証します。

    コマンドが出力を返さない場合、設定は正しいです。

    # 設定の確認
    sudo /usr/sbin/sshd -t
  5. SSH サービスを再起動します。

    sudo systemctl restart sshd
  6. サービスのステータスを確認します。

    出力に active (running) が含まれている場合、サービスは正常に起動しています。

    sudo systemctl status sshd

解決策 2: SSH サービスを再インストールする

  1. VNC 接続を使用して ECS インスタンスにログインします。

    1. ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. 対象インスタンスの詳細ページに移動します。[接続] をクリックし、[VNC] を選択します。ユーザー名とパスワードを入力して ECS インスタンスにログインします。

  2. 設定ファイルをバックアップします。

    SSH サービスを再インストールすると、変更されたポートやキーベースの認証設定など、すべてのカスタム構成が削除されます。

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup-$(date +%Y%m%d-%H%M%S)
  3. SSH サービスをアンインストールします。

    sudo rpm -e openssh-server
  4. SSH サービスをインストールします。

    インストール後、バックアップから新しい設定ファイルにカスタム設定を移行します。

    sudo yum install openssh-server
  5. SSH サービスを起動します。

    sudo systemctl start sshd
  6. サービスのステータスを確認します。

    出力に active (running) が含まれている場合、サービスは正常に起動しています。

    sudo systemctl status sshd