Ansibleで何度もパスフレーズの入力を求められる問題

※こちらは過去ブログで2016/02/03に投稿した記事をコピーしたものです。

Ansibleを使っていてトラブルが起きたのでメモ。

事象

raspberry piをAnsibleで諸々操作していたところ、ある時から鍵認証のパスフレーズを何回も聞かれるようになりました。
以下のような感じです。正しいパスフレーズを入力している(コピペしているので間違いない)のに、必ず3回入力を求められます。

しかも、playbookを使うとタスク毎に3回パスワードの入力を求められてしまい、面倒な事この上ありません。
Raspberry piのOS(Raspbian)再インストールまで実施したのですが、解消せず。ただし、別のユーザーを作成してそちらでAnsibleコマンドを実行すると、発生しません。

原因と対策

結論としては、Ansibleサーバ側(=sshクライアント側)が原因でした。使用していたユーザーのホームディレクトリの以下ファイルを削除すると、次回ansibleコマンド実行時に再作成され、解消しました。
~/.ansible/cp/ansible-ssh-192.168.x.x-22-user

ファイルの種類は「socket」とのこと
ansible-ssh-192.168.x.x-22-user: socket

正常な状態だと、1分も経たないうちに削除されるのですが、何らかの理由で削除されずに残ってしまっていたようです。私の場合1月13日から残っていました。

もう少し詳しく確認してみると、ansibleコマンドを実行してから1分ほど、Ansibleサーバ側でLISTENINGしているようです。本来その間のみ存在しているはずなのに、残って悪さしていた様子。

よくわからず使っているとハマりますね。勉強が足りませんでした。

最後までご覧いただきありがとうございました!よろしければ広告もご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*