以下の内容はhttps://ikm.hatenablog.jp/entry/2016/03/30/192346より取得しました。


knife-soloでControlMasterが煩わしかったのでなんとかした

knife-solo v0.5.0から

  1. 最初はrootでknife solo bootstrap my.host.jp -x rootする
  2. 続けてそのときに作ったユーザsome_userknife solo cook my.host.jp -x some_userする

としたときにエラーが発生するようになった。

原因はknife-solo v0.5.0でSSHのControlMasterがサポートされるようになったことで、これがあると最初にsshしたときのコネクションをホストごとに使いまわし続けてしまうためらしい。

対応方法としては3つあって、

1. --ssh-control-masterオプションを指定する

knife-soloを叩くときに指定できる。

$ knife solo cook my.host.jp --ssh-control-master no

ただ毎回は面倒くさいので設定でなんとかしたい。

2. ControlMasterを無効化する

~/.ssh/configに次のように記載する。

Host *
  ControlMaster no

ただ無効にしちゃうとControlMasterの恩恵を受けられなくなるので、それはそれで避けたい。

3. ControlPersistでを設定する

OpenSSH 5.9から入ったControlPersistでコネクションのタイムアウトを設定できるようになったとのことなので、~/.ssh/configに次のように記載する。

Host *
  ControlPersist 10 # 10秒で切る

ちなみに手元のsshのバージョンは次のコマンドで調べられる。

$ ssh -V 
OpenSSH_6.9p1, LibreSSL 2.1.8

参考




以上の内容はhttps://ikm.hatenablog.jp/entry/2016/03/30/192346より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14