このトピックでは、sshd設定エラーが原因でElastic Compute Service (ECS) インスタンスに接続できない問題の原因と解決策について説明します。
問題の説明
sshd設定ファイルを変更してECSインスタンスを再起動すると、WorkbenchまたはPuTTY、Xshell、SecureCRTなどのサードパーティのリモート接続ツールを使用してECSインスタンスに接続することはできません。
原因
/etc/ssh/sshd_config設定ファイルにエラーが含まれています。 エラーのため、sshdサービスの起動に失敗しました。 その結果、SSH経由でECSインスタンスに接続することはできません。
解決策
Virtual Network Computing (VNC) を使用してECSインスタンスに接続し、sshd設定ファイルのエラーを確認し、エラーがある場合はエラーを修正してから、sshdサービスを再起動します。
VNCを使用してECSインスタンスに接続します。
詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。
次のコマンドを実行して、sshd設定ファイルが格納されているパスを特定します。
which sshd次のコマンド出力は、sshd構成ファイルが
/usr/sbin/sshdパスに格納されていることを示しています。
次のコマンドを実行して、テストモードでsshdサービスを実行し、sshd構成ファイルにエラーが存在するかどうかを確認します。
重要sshd設定ファイルを変更するたびに、ECSインスタンスを再起動する前に、次のコマンドを実行して設定ファイルにエラーが存在するかどうかを確認することを推奨します。 これにより、前述の問題が発生するのを防ぎます。
sudo /usr/sbin/sshd -tsshdが正しく設定されている場合、情報は返されません。
sshdが正しく設定されていない場合、情報が返されます。 次のコマンド出力は、構成ファイル
/etc/ssh/sshd_configの行144のパラメーター値がサポートされていない値no1に設定されており、変更する必要があることを示しています。
/etc/ssh/sshd_config設定ファイルを変更します。
次のコマンドを実行して、
/etc/ssh/sshd_config設定ファイルを開きます。sudo vim /etc/ssh/sshd_configIキーを押して挿入モードに入り、上記のコマンド出力に基づいてエラーを含む行を見つけ、エラーを修正します。 たとえば、Line 144のUseDNSパラメーターの値をnoに設定します。UseDNS noEscキーを押して:wqと入力し、enterキーを押して設定ファイルを保存して閉じます。
sudo /usr/sbin/sshd -tコマンドを再実行して、エラーが修正されたかどうかを確認します。 エラーが修正された場合、次の図に示すように、情報は返されません。
変更を有効にするには、sshdサービスを再起動します。
sudo systemctl restart sshd.service説明systemctlコマンドの実行時にエラーが発生した場合は、Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?