SSH を使用してインスタンスに接続するには、SSH サービスが実行中である必要があります。サービスが非アクティブな場合、リモート接続は失敗します。このトピックでは、SSH サービスのステータスを確認し、サービスを起動する方法について説明します。
症状
SSH を使用して Linux ECS インスタンスにログインできません。VNC を使用してインスタンスにログインした後、systemctl status sshd.service コマンドを実行して SSH サービス (sshd.service) のサービスステータスを確認します。コマンドの出力に 'inactive (dead)' が含まれている場合、SSH サービスは実行されていません。
# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2021-02-01 20:37:28 CST; 1s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1034 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1034 (code=exited, status=0/SUCCESS)
原因
SSH サービスの起動に失敗する原因として、サービスの起動時の自動起動が設定されていない、重要な sshd ディレクトリの所有者またはグループの設定が正しくない、SSH サービスの設定ファイルが無効である、PATH 環境変数の設定が誤っている、ポートの競合などが考えられます。
ソリューション
-
VNC を使用して ECS インスタンスに接続します。
詳細については、「VNC を使用したインスタンスへの接続」をご参照ください。
-
次のコマンドを実行して、SSH サービスのサービスステータスを確認します。
systemctl status sshd.service出力に 'inactive (dead)' が表示される場合、
sshd.serviceプロセスが実行されていないことを示します。 -
次のコマンドを実行して SSH サービスを起動し、起動時の自動起動を有効にします。
sudo systemctl start sshd.service sudo systemctl enable sshd.service起動中にエラーが発生した場合は、エラーメッセージを基に問題を解決してください。SSH サービスの一般的な起動失敗のソリューションについては、次のトピックをご参照ください。