ratio - rational - irrational

« 日常のスケジュールの遂行について | Main | RubyGems更新後のGem::GemRunner (NameError) »

2008年04月25日

capistranoで、サーバー公開鍵認証のエラー

capistranoでdeployしようとするとき、sshでサーバーにログインしようとする段階で「Net::SSH::HostKeyMismatch, fingerprint my_fingerprint does not match for myserver」みたいなエラーが発生する。

同じエラーに遭遇した人を発見。

net-sshのソースを読むと、known_hostsをサーチしてリモートのfingerprintが入っていたらok, さもなくば例外を発生するというコードになっている。

class HostKeyVerifier
  def verify(arguments)
    # .... 中略
    found || process_cache_miss(host, arguments)
  end
end

うん。net-sshとしては、アプリケーションがこの例外をハンドリングして自前でfingerprintの確認UIを出すというのを期待してるんだろうな。capistranoはそれをやってない。

とりあえず、opensshのclientで事前に一度、deploy先サーバーにログインしておく。そうすればknown_hostsに入る。これでエラー無くcapistranoを実行することができた。



トラックバック

この記事のトラックバックpingのURL:
http://idm.s9.xrea.com/blog/mt-tb.cgi/768

コメント

新しくコメントをつける

よくわからない理由により、コメントが即座には反映されないかもしれませんか゛、ボタンを押して元の画面に戻ってきたならたぶん正しく送信されています。




blog操作

検索


カテゴリー

このブログについて

あわせて読みたい

follow yugui at http://twitter.com
© 2008 Yugui

Powered by Movable Type 3.2-ja-2