Capistrano :ssh_options 再び

以前Net::SSH で明示的に password 認証にでまったく同じ現象に悩んでいたんだけど、またハマったのでもう一度書く。

ポイントは

自分の ssh_config と秘密鍵を認証に使いたくない

で、これの実現のためには

set :ssh_options, {
  :config => false,
  :keys   => []
}

と設定されていればよい。(:keys => nil はダメ)

set :ssh_options[:auth_methods], 'password'

だけでうまくいくんじゃないかと思ったけど、これはなんでかうまくいかなかった。ちゃんと内部で password 認証だけに絞られてるように見えるんだけど、そういうわけではないのかな。

Capistrano 2.5.5 で確認。

それか capistrano で使う秘密鍵の名前はデフォルトとは別な名前にしておくという方針がいいのかもしれない。

More