control master は便利なんだけど、ちょっと不便な事情もある。
一例として、 usermod で自分のユーザーグループを変えた時、その反映には一旦ログアウトするのが手っ取り早い
しかし、controlmaster があるとログアウトが起きずグループの変更が反映されない。
ControlPersist yes
なんてしてるともっと厄介だ。接続きれないんだもん。
まぁ、コントールしてるファイルを削除すればいいんだけどね。。。
いちお、check なんてものがある。
takuya@:~/Desktop$ ssh -O check MyHost
muxclient: master hello exchange failed
Master running (pid=90496)
takuya@:~/Desktop$
この状態はMaster起動してるやつ。
ちゃんと切断するには exit を使う
強制切断するには 、exit を使う。
コントール用のソケットファイルがバックグラウンドで残っている状態で切断をしたいときは
ssh -O exit HOSTNAME
check して exit して本当に切断されたか?
$ ssh -O exit MyHost
Exit request sent.
$ ssh -O check Host
Control socket connect(/home/takuya/.ssh/masters/takuya@MyHost:22): No such file or directory
$ lsof -i | grep ssh
$
lsof で、ssh が残ってないことがわかる。
control master って便利なんだけど・・・
便利なんだけど、ログイン、ログアウトはそんなに時間のかかる処理じゃないので、わざわざ使う意味ってどこにあるんだろう。
Control Masterってメインで使うべきでじゃないのかもねぇ。結構混乱する。
参考資料
http://d.hatena.ne.jp/tmatsuu/20120707/1341677472
https://siguniang.wordpress.com/2013/11/30/notes-on-ssh-multiplexing/
http://stackoverflow.com/questions/4509624/how-to-limit-depth-for-recursive-file-list