Net::SSH で明示的に password 認証に

twitter log 掘り起こし日記。

12:55:10 wtnabe< デフォルトと違う設定の ssh で capistrano を使おうとし
て大ハマり中
13:19:15 wtnabe< なんか :auth_methods の扱いもおかしいっぽいなぁ
13:20:57 wtnabe< passphrase を聞いてくるのが謎い
13:22:25 wtnabe< 自分自身の passphrase を使うわけではないので
:auth_methods を password に限定すると認証に失敗する
14:32:21 wtnabe< :ssh_options[:keys] = [] にしたら passphrase 聞いてこ
なくなった

Net::SSH 単体ではなく Capistrano で使っていたんだけど、

set :ssh_options[:keys], []

にしたってことです。

何のことかと言うと、自分の環境で ssh connection 絡みのテストをやると自動的に自分の config が反映されて面倒なことになっちゃったりするので、その辺をリセットするために行った措置だったりします。

※ 関係は薄いのですが password を Capfile の外から与えられないとまずいよなぁと思ったのと、どの程度のできるのか確かめたくて CLI.ui も試してみました。これは

HighLine

highline というライブラリを使っているわけですが、こいつが、なのか Capistrano の CLI の使い方が、なのか readline が効かない状態。対話的な処理を真面目に作り込もうとするとちょっとキツいかもしれません。

cap shell

は readline 効いてるのにね。

More