質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

2回答

11161閲覧

ansible で疎通が通らない

wkbiz

総合スコア152

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2017/08/27 16:46

よろしくお願いします。

・環境
Virtualbox(Windows10 host)
Ansible 2.3.1
CentOS 6.7 on VM

ansibleで疎通確認を行なおうとしたところ次のようなエラーになりました。

[root@controller ansible]# ansible all -i inventory/hosts -m ping 192.168.100.20 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n", "unreachable": true }

controller側ではssh-keygen -t rsaで作成、
ssh-copy-id root@192.168.100.20 で公開鍵を送りました。
しかしtarget側のauthroized_keysは「The agent has no identities.」としか書かれていません。

ansible all -i inventory/hosts -m ping -k
を実行するとSSHのパスワードが尋ねられるので入力すると
ping pongが返ってきてくれます。

いろいろ調べたところgithubの質問板に似た質問で、相手側で鍵を作ったら解決したというのがあったのですが、本当にそれは正しい対策なのか不安です。
いずれにしてもssh-copy-idでtarget側に公開鍵が渡ってないことが問題だと思っています。

どうすれば公開鍵を渡せるのか、ご教授いただけると幸いです。

(参考サイト)
http://qiita.com/t_nakayama0714/items/fe55ee56d6446f67113c
https://github.com/ansible/ansible/issues/19584

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hotta

2017/08/27 22:27

root じゃなくて、一般ユーザー同士でやったらどうなりますか?
wkbiz

2017/08/28 07:00

自己解決しました。有難うございました。
guest

回答2

0

自己解決

自己解決しました。
ご回答頂きました方、有難うございました。

ssh-copy-id root@192.168.100.20 で公開鍵を送りました。

と書きましたが、このコマンドが間違いでした。正しくは、

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.20

と入力すべきでした。これで公開鍵が相手側に送信され、相手側の
authorized_keys に公開鍵が書き込まれ、controller側から
SSH接続する際にパスワードを尋ねられることなくtarget側にアクセス
できるようになりました。
(原因は参考サイトの書き損じでもありますが)

今はDIYレベルですが、業務でもansibleは使っていきたいので引き続き
やっていきたいです。

投稿2017/08/28 05:20

編集2017/08/28 05:20
wkbiz

総合スコア152

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

target側のauthroized_keysに、controller側の公開キーを追記することで設定が可能です。
ssh-copy-idコマンドは、上記の操作を行うコマンドになります。

投稿2017/08/28 04:50

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2017/08/28 06:59

ご回答ありがとうございました。
wkbiz

2017/08/28 06:59

ご回答ありがとうございました。
nagaetty

2017/08/28 11:54

解決してなによりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問