それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ssh の control master の接続を確認して削除する

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

広告を非表示にする