端末を閉じずに応答しないSSHセッションの終了

端末を閉じずに応答しないSSHセッションの終了

端末全体を終了せずに応答しないSSHセッションを切断する方法はありますか?具体的には、私はkonsoleを使用していますが、私が作業しているコンピュータが時々停止するが、実際には死にません(したがって接続が終了します)。そのため、SSHが中断され、SSHを介して再接続するか、他の操作を実行する前に端末を閉じて新しい端末を開く必要があります。 Ctrl + Cを押してSSHセッションを効果的に終了する方法はありますか?

答え1

1つの方法は、SSHエスケープ文字を使用することです。デフォルトではこれは "〜"ですが、-esshを呼び出すときにオプションを使用するか、EscapeCharssh設定のオプションを使用して手動で設定できます。中断されたセッションを終了するには、通常、次の方法を使用できます。

~.

Gillesが指摘したように、これはヒット直後にのみ認識されますEnter

答え2

明確に説明すると、これが初心者に役立つことを願っています。

  1. ~によるとEnter

  2. 押す~(アメリカのレイアウトキーボードでは+ですshift`

  3. ~によると.

カーソルがローカルプロンプトに戻ります。

答え3

すべてのアクティブSSHセッションを終了するには、次のコマンドを使用できます(ポート22へのSSH接続のみがあると仮定)。

kill `sudo lsof -Pni :22 | tail -n1 | grep -wv sshd | awk '{print $2}'`

このコマンドはポート22に接続されているすべてのプロセスを見つけ、コマンドでバナー出力を削除しlsof、sshデーモンを無視してすべてのPIDを取得してからそのPIDを終了します。

関連情報