ansible で UNREACHABLE! Failed to connect to the host via ssh: Permission denied エラーで対象ホストにログインできない



Ansible でサーバーの設定をしようとしたら、対象サーバに接続するときに

というエラーが出てしまいました。

ansible all -m ping -i {hosts} で試して見ましたがエラーが出ます。

ansible.cfg や playbook, task を確認しても、特に remote_user が指定されていたりもしません。

原因はパスワード認証

今回の対象サーバーは SSH の公開鍵を使わなくてもログインできる設定だったので、公開鍵認証を使わずにパスワード認証をして作業していました。

ssh-copy-id コマンドで対象サーバーに公開鍵を設置してみたところ上手くいきました。

Ansible で SSH のパスワード認証を使うには

今回は公開鍵認証をして解決しましたが、ansible でパスワード認証だけで設定したいときには、ansible.cfg に ask_pass を設定して

のようにするか、ansible-playbook コマンド実行時に --ask-pass を付ければよさそうです。

ITエンジニア募集中!

キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。

下記よりITエンジニア募集の採用情報をご覧いただけます。


コメントを残す

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

CAPTCHA