ssh接続をクライアント側から強制切断
Published in
2 min readAug 7, 2017
サーバーにsshしたまま、ちょっと席を外して戻ってきたら、ターミナルが固まっていてどうにもならず、ターミナルごと落としてsshのやり直し、みたいなことありませんか?
そのようなときは固まってしまったターミナルにフォーカスを合わせて、
~.
と打ってみてください。
sshが終了し、手元の環境のshellが現れます。
何をしているのか?
sshのmanを見ると、後半にESCAPE CHARACTERSというセクションがあります。
$ man ssh
(中略)
ESCAPE CHARACTERS
When a pseudo-terminal has been requested, ssh supports a number of functions through the use of an escape character.A single tilde character can be sent as ~~ or by following the tilde by a character other than those described below. The escape character must always follow a newline to be
interpreted as special. The escape character can be changed in configuration files using the EscapeChar configuration directive or on the command line by the -e option.The supported escapes (assuming the default `~') are:~. Disconnect.
(後略)
新しい行でエスケープ文字(~)を打つと、実行中のsshに対して、いくつかの操作を行えるモードになります。port forwardingに使っている場合は、接続設定を動的に変更できます。
今回紹介した強制切断方法もこのモードの機能です。
これでベストな位置に配置したターミナルを無駄にしないですみますね!
それでは、皆さん良いCLIライフを!