終了を強制する「秘密の」キーボードショートカットがあります:〜)凍結されたセッションから、これらのキーを順番に押しますEnter~.。チルダ(改行の後のみ)は、sshクライアントによってエスケープシーケンスとして認識され、ピリオドは苦労せずにビジネスを終了するクライアント。
通信の問題に対する長いハングの動作はバグではありません。SSHセッションは、相手が戻ってくることを期待してハングアウトしています。ネットワークが切断された場合、時には数日後でもSSHセッションを取り戻すことができます。もちろん、あきらめて、上記のシーケンスで死ぬように具体的に伝えることができます。クライアントにキープアライブタイムアウトを設定するなど、さまざまなことができます。これにより、一定時間アクティブリンクがない場合、自動的にシャットダウンしますが、デフォルトの動作はそのままです。可能な限り接続!
編集:この割り込みキーのもう1つの便利なアプリケーションは、ローカルsshクライアントの注意を引き、バックグラウンドで1分間ローカルシェルに戻ります(たとえば、履歴から何かを取得する)。Enter~ Ctrl+ Zを使用してsshクライアントをローカルシェルのバックグラウンドジョブキューに送信してから、fg
通常どおりに戻します。
編集:ネストされたSSHセッションを処理する場合、複数のチルダ文字を追加して、チェーン内のSSHセッションの1つだけをブレークアウトし、残りを保持することができます。あなたは3つのレベルにネストされている場合たとえば、(つまり、あなたは> machine3にローカルから> Machine1-> Machine2-からSSH) Enter~.、バックあなたのローカルセッションにあなたを取得するEnter~~.のMachine1であなたを残すだろう、とEnter~~~.MACHINE2であなたを残します。これは、sshセッションを一時的にバックグラウンドに移動するなど、他のエスケープシーケンスでも機能します。上記は、ティルドを追加するだけで、あらゆるレベルのネストに機能します。
最後に、使用Enter~?して、使用可能なエスケープコマンドのヘルプメニューを印刷できます。
TL; DR-サポートされるエスケープコマンドはサポートされるエスケープシーケンスです。
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - request rekey
~V/v - decrease/increase verbosity (LogLevel)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)