sshd_config ファイルを検証および修正し、ECS インスタンスへの SSH 接続を妨げる sshd 設定エラーを解決します。
現象
sshd 設定ファイルを変更してインスタンスを再起動した後、ワークベンチ、または PuTTY、Xshell、SecureCRT などのサードパーティツールでインスタンスに接続できなくなります。
原因
/etc/ssh/sshd_config ファイルに sshd の起動を妨げるエラーが含まれているため、インスタンスへの SSH 接続がブロックされます。
ソリューション
VNC 経由でインスタンスに接続し、sshd 設定ファイルのエラーを修正して、sshd サービスを再起動します。
-
VNC 経由でインスタンスに接続します。
VNC を使用したインスタンスへの接続を参照してください。
-
sshd のバイナリパスを特定します。
which sshd出力から、sshd が
/usr/sbin/sshdにあることがわかります。
-
sshd をテストモードで実行し、設定エラーを確認します。
重要sshd_config ファイルを変更するたびに、インスタンスを再起動する前にこのコマンドを実行して、エラーを早期に検出してください。
sudo /usr/sbin/sshd -t-
設定が正しい場合、何も出力されません。
-
エラーがある場合、出力にエラーの場所が表示されます。 たとえば、次の出力は、
/etc/ssh/sshd_configの 144 行目の値が、サポートされていない値no1に設定されていることを示しています。
-
-
/etc/ssh/sshd_config ファイルを修正します。
-
/etc/ssh/sshd_configファイルを開きます。sudo vim /etc/ssh/sshd_config -
Iキーを押して挿入モードに入ります。 前の出力からエラー行を特定し、修正します。 たとえば、144 行目の UseDNS を no に設定します。UseDNS no -
Escキーを押し、:wqと入力して Enter キーを押し、ファイルを保存して閉じます。
-
-
sudo /usr/sbin/sshd -tを再実行して修正を検証します。 何も出力されない場合、設定は正しいです。
-
sshd サービスを再起動して、変更を適用します。
sudo systemctl restart sshd.service説明systemctl コマンドが失敗した場合は、Linux インスタンスで systemctl コマンドを実行したときにエラーが発生した場合の対処方法を参照してください。