まずクライアントから確認
userとserver.exampleを実際のアカウントとホストに置き換えます。Connection refusedは接続の明示的拒否、timeoutは経路・フィルター・応答しない接続先などが原因です。Permission deniedは認証拒否です。詳細ログには識別情報が含まれるため、共有前に匿名化してください。
ssh -vvv -o ConnectTimeout=5 -p 22 user@server.example
ssh -4 -o ConnectTimeout=5 user@server.example
ssh -6 -o ConnectTimeout=5 user@server.exampleLinuxはコンソールから確認
UbuntuやDebianではsshサービス、待受ポート、設定構文、journalを確認します。実際のポートとファイアウォールの両方向を確認してください。timeoutは電源断の証拠ではありません。他のディストリビューションではsshd.serviceの場合があります。変更中もコンソール接続を保ってください。
sudo systemctl status ssh.service
sudo ss -lntp
sudo /usr/sbin/sshd -t
sudo journalctl -u ssh.service -n 50 --no-pager信頼確認を弱めずに認証を修正
ユーザー名、選択した秘密鍵、サーバー側authorized_keysの所有者と権限を確認します。IdentitiesOnlyで意図した鍵を試せます。ホスト鍵変更は独立した信頼できる経路で確認し、StrictHostKeyCheckingを無効にしたりknown_hostsを無条件削除したりしないでください。CH-J DiagnosticsはSSHログインなしでTCP到達性を確認できます。
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519_chj user@server.example
ssh-keygen -F server.example