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

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

新規登録して質問してみよう
ただいま回答率
85.50%
公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

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

Ansible

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

1回答

3897閲覧

ansibleでssh接続が出来ない(ユーザー名root、鍵認証設定済、公開鍵はvps側に登録、秘密鍵使用)

gants

総合スコア18

公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

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

Ansible

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2017/08/17 18:05

編集2018/02/21 10:40

TASK [Gathering Facts] **********************************************************************************************************
Enter passphrase for key '/root/.ssh/id_rsa':
fatal: [...]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Warning: Permanently added '...' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true}
to retry, use: --limit @/root/ansible-squid/**.retry

PLAY RECAP **********************************************************************************************************************
... : ok=0 changed=0 unreachable=1 failed=0

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

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

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

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

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

guest

回答1

0

ベストアンサー

ansible 以前に、ssh ですんなりログインできることは確認済みですか?
また、一般的に root でのリモートログインは推奨されませんが、ssh で
パスワード認証を禁止にするくらいのことはやっていますか?

オススメとしては、一般ユーザーで ansible-playbook を実行し、root 権限が
必要な処理だけ明示的に become:yes を付けるようにするようにすることです。
なお、そのユーザーは該当ホスト上で パスワード無しで sudo できるように
なっているのが前提です。

投稿2017/08/18 00:14

hotta

総合スコア1613

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

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

gants

2018/02/27 02:33 編集

hotta様 ありがとうございます >ansible 以前に、ssh ですんなりログインできることは確認済みですか? rootでのsshログインはできません。 >一般的に root でのリモートログインは推奨されませんが、ssh で パスワード認証を禁止にするくらいのことはやっていますか? 初めから禁止になってました。 なお、そのユーザーは該当ホスト上で パスワード無しで sudo できるように なっているのが前提です。 $モードでansibleを実行するということですか?$モードでyumなどが使えず、ansibleがインストール出来ないのですが。
hotta

2017/08/18 01:46 編集

root で ansible-playbook を実行してようとしているということは、すでに ansible はインストール済みのはずです。ansible が必要なのは手元の ホストだけであり、操作対象ホストには ansible のインストールは不要です。 ためしに一般ユーザー(ad2?)で ansible-playbook を流してみたら、 どうなりますか? なお、一般ユーザで root 権限が必要な処理(yum等)を実行する場合、 $ sudo yum install XXX のようにやります。
gants

2018/02/27 02:33 編集

hotta様 >ためしに一般ユーザー(ad2?)で ansible-playbook を流してみたら、 どうなりますか? TASK [Gathering Facts] ********************************************************************************************************* fatal: [**.***.**.***]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).rn", "unreachable": true} [WARNING]: Could not create retry file '/home/ad2/kickcancrew.retry'. [Errno 13] Permission denied: PLAY RECAP ********************************************************************************************************************* **.***.**.*** : ok=0 changed=0 unreachable=1 failed=0 このようにエラー表示が出ています。 また、sudo を頭に使って実施も致しました。 PLAY [web] ****************************************************************************************************************** skipping: no hosts matched PLAY [web] ****************************************************************************************************************** skipping: no hosts matched PLAY [all] ********************************************************************************************************************* TASK [Gathering Facts] ********************************************************************************************************* fatal: [*.*.*.*]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: no such identity: /home/ad2/~.ssh/id_rsa: No such file or directoryrnPermission denied (publickey,gssapi-keyex,gssapi-with-mic).rn", "unreachable": true} to retry, use: --limit @/home/ad2/kickcancrew.retry PLAY RECAP ********************************************************************************************************************* *.*.*.* : ok=0 changed=0 unreachable=1 failed=0
hotta

2017/08/18 04:36

ansible-playbook は ad2 で実行するので間違いありません。 また ansible-playbook の前に sudo を付けても意味はありません。 /home/ad2/kickcancrew.retry Permission denied というのが気になります。 $ sudo chown -R /home/ad2 とやってから、もう一度 playbook を流してみてください。
gants

2017/08/18 05:27

hotta様 >>/home/ad2/kickcancrew.retry Permission denied というのが気になります。 $ sudo chown -R /home/ad2 とやってから、もう一度 playbook を流してみてください。 実行してみました。playbookの前にエラーが出てしまいました。 [ad2@localhost ~]$ sudo chown -R /home/ad2 [sudo] password for ad2: chown: `/home/ad2' の後にオペランドがありません Try 'chown --help' for more information. このような表記が出ました。 (オペランドのエラーはad2後ろにファイルがないと出るエラーですか?) 秘密の鍵の置いてあるある場所が悪いと思い、場所を確認致しました。 *すいません、admin2=ad2に書き換えていたので同一として下さい。 [admin2@localhost ~]$ cd .ssh [admin2@localhost .ssh]$ ls -l 合計 12 -rw-------. 1 admin2 admin2 1766 8月 16 00:43 id_rsa -rw-r--r--. 1 admin2 admin2 410 8月 16 00:43 id_rsa.pub -rw-r--r--. 1 admin2 admin2 1237 8月 18 09:46 known_hosts [admin2@localhost .ssh]$ pwd /home/admin2/.ssh 念のため、playbookも流しました。 [admin2@localhost ~]$ ansible-playbook --private-key=.ssh/id_rsa -i hosts kickcancrew.yml PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [all] ******************************************************************************************************************************************* TASK [Gathering Facts] ******************************************************************************************************************************* fatal: [*.*.*.*]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true} [WARNING]: Could not create retry file '/home/admin2/kickcancrew.retry'. [Errno 13] Permission denied: u'/home/admin2/kickcancrew.retry' PLAY RECAP ******************************************************************************************************************************************* *.*.*.* : ok=0 changed=0 unreachable=1 failed=0
hotta

2017/08/18 05:36

すみません $ sudo chown -R ad2 /home/ad2 の間違いでした。
gants

2017/08/18 05:48

hotta様 $ sudo chown -R ad2 /home/ad2も実行し、確認しました。 [admin2@localhost ~]$ sudo chown -R admin2 /home/admin2 [sudo] password for admin2: [admin2@localhost ~]$ ansible-playbook --private-key=.ssh/id_rsa -i hosts kickcancrew.yml PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [all] ******************************************************************************************************************************************* TASK [Gathering Facts] ******************************************************************************************************************************* fatal: [*.*.*.*]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true} to retry, use: --limit @/home/admin2/kickcancrew.retry PLAY RECAP ******************************************************************************************************************************************* *.*.*.* : ok=0 changed=0 unreachable=1 failed=0 /home/ad2/kickcancrew.retry Permission deniedの表記は消えました。
hotta

2017/08/18 05:57

admin2 ユーザで単に $ ssh -i .ssh/id_rsa ターゲットサーバ とすると、どういう風に表示されますか?
gants

2017/08/18 06:09

hotta様 >>$ ssh -i .ssh/id_rsa ターゲットサーバ 実行しました。ターゲットサーバーが分からなかった為、rootとadmin2(ユーザー)の2つを 入れてみました。 [admin2@localhost ~]$ ssh -i .ssh/id_rsa root@**.***.**.*** Permission denied (publickey,gssapi-keyex,gssapi-with-mic). [admin2@localhost ~]$ ssh -i .ssh/id_rsa admin2@**.***.**.*** Last login: Fri Aug 18 00:46:19 2017 from ~~~~~~~~~~~~ のようにadmin2(ユーザー)からは入れます。
hotta

2017/08/18 06:19 編集

ターゲットサーバは変更対象サーバの IP アドレスです。 @ の前のユーザー名は、付けなければ現在の実行中ユーザーになります。 Gathering facts で失敗しているようですが、単に $ ansible -m setup 対象IPアドレス としたら、どうなりますか? もしこれでうまくいくようなら、単に $ ansible-playbook kickcancrew.yml とやっても通るはずなんですが、、、 (この場合は /etc/ansible/hosts が参照され、カレントディレクトリの hosts.ini は参照されません)
gants

2017/08/18 06:22

hotta様 そうなのですね、@の前に何も付けなければ実行中ユーザーになるのですね。 >>$ ansible -m setup 対象IPアドレス 実行してみました。 [admin2@localhost ~]$ ansible -m setup **.***.**.*** **.***.**.*** | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true } このようになりました。
hotta

2017/08/18 06:25

なるほど。次はこれではどうでしょう? $ ansible -m setup --private-key=.ssh/id_rsa 対象IPアドレス
gants

2017/08/18 07:28

hotta様 このようになりました。 [admin2@localhost ~]$ ansible -m setup --private-key=.ssh/id_rsa **.***.**.*** **.***.**.*** | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true }
hotta

2017/08/18 07:32 編集

うーん、↑ これではつながらないのに、 $ ssh -i .ssh/id_rsa 対象IPアドレス だとつながる、ということなんですよね。謎だ…。
gants

2017/08/18 07:36

hotta様 [admin2@localhost ~]$ ssh -i .ssh/id_rsa *.*.*.* Last login: Fri Aug 18 06:06:01 2017 from ~~~~~~~~~~~~ 先ほど、もう一度行いましたが、こちらでは繋がりました。
hotta

2017/08/18 07:41 編集

接続元の /etc/ansible.cfg は何か変更していますか? また、ターゲット側の /var/log/secure に何か出ていませんか?
gants

2017/08/18 08:01

hotta様 [admin2@localhost ~]$ vi /etc/ansible/ansible.cfg こちらで確認しました。思い当たる変更箇所はこちらになります。 [defaults] # some basic default values... inventory = /etc/ansible/hosts #library = /usr/share/my_modules/ #module_utils = /usr/share/my_module_utils/ remote_tmp = ~/.ansible/tmp #local_tmp = ~/.ansible/tmp #forks = 5 #poll_interval = 15 remote_user = root sudo_user = root #ask_sudo_pass = True ask_pass = False transport = smart #remote_port = 22 module_lang = C #module_set_locale = False host_key_checking = False [ssh_connection] sh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null また、 [root@instance-2 ~]# cat /var/log/secure 実行確認したところ・・・ Aug 18 07:34:35 instance-2 sshd[23092]: pam_unix(sshd:session): session opened for user admin2 by (uid=0) Aug 18 07:37:40 instance-2 sshd[23095]: Received disconnect from (私が使っているIPアドレス): 11: disconnected by user Aug 18 07:37:40 instance-2 sshd[23092]: pam_unix(sshd:session): session closed for user admin2 Aug 18 07:44:37 instance-2 sshd[23138]: Invalid user pi from(どこのIPか不明) Aug 18 07:44:37 instance-2 sshd[23138]: input_userauth_request: invalid user pi [preauth] Aug 18 07:44:37 instance-2 sshd[23140]: Invalid user pi from (どこのIPか不明) Aug 18 07:44:37 instance-2 sshd[23140]: input_userauth_request: invalid user pi [preauth] Aug 18 07:44:37 instance-2 sshd[23138]: Connection closed by (どこのIPか不明) [preauth] Aug 18 07:44:37 instance-2 sshd[23140]: Connection closed by (どこのIPか不明) [preauth] Aug 18 07:48:19 instance-2 sshd[23148]: Accepted publickey for admin2 from (私が使っているIPアドレス) port ----- ssh2: RSA ~~ Aug 18 07:48:19 instance-2 sshd[23148]: pam_unix(sshd:session): session opened for user admin2 by (uid=0) のようになりました。
hotta

2017/08/18 08:07 編集

remote_user = root が怪しいですね。 いったん、/etc/ansible/ansible.cfg をすべてデフォルトに戻してからやってみませんか。最低限の動作確認ができる前に変更してしまうと、今回のようにトラブルシュートができなくなります。
gants

2017/08/18 08:11

hotta様 分かりました。 /etc/ansible/ansible.cfg の設定を別で保存しておき、 デフォルトにもどしてから実行してみます。
gants

2018/02/27 02:35 編集

修正後>>先ほど、実行したコマンドを再実施しました。 [admin2@localhost ~]$ PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [all] ******************************************************************************************************************************************* TASK [Gathering Facts] ******************************************************************************************************************************* fatal: [*.*.*.*]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true} to retry, use: --limit @/home/admin2/kickcancrew.retry PLAY RECAP ******************************************************************************************************************************************* *.*.*.* : ok=0 changed=0 unreachable=1 failed=0 [admin2@localhost ~]$ ansible -m setup *.*.*.* *.*.*.* | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true } [admin2@localhost ~]$ ansible -m setup --private-key=.ssh/id_rsa *.*.*.* *.*.*.* | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true } ですが、こちらは通るみたいです。 [admin2@localhost ~]$ ssh -i .ssh/id_rsa *.*.*.* Last login: Fri Aug 18 08:23:29 2017 from ~~
hotta

2017/08/18 13:19

困りましたね。 ログが大量になりますが、 $ ansible -m setup -vvv ip でやると、何かヒントが出るかな?
gants

2017/08/18 15:15

hotta様 $ ansible -m setup -vvv ip こちらのコマンドを実行してみました。 [admin2@localhost ~]$ ansible -m setup -vvv **.***.**.*** Using /home/admin2/ansible.cfg as config file META: ran handlers Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py <**.***.**.***> ESTABLISH SSH CONNECTION FOR USER: root <**.***.**.***> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/365fceb484 **.***.**.*** '/bin/sh -c '"'"'echo ~ && sleep 0'"'"'' <**.***.**.***> (255, '', 'Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n') **.***.**.*** | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true } このように出ましたが、 -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no こちらは[ssh_connection]で以前設定していました表記ですね。
hotta

2017/08/19 00:16 編集

> ESTABLISH SSH CONNECTION FOR USER: root やっぱり root で接続に行こうとしていますね。 これが出る限りつながらないです。 > Using /home/admin2/ansible.cfg as config file /etc/ansible/ansible.cfg じゃなくて、/home/admin2/ansible.cfg が使われていますね。 このファイルをどこかに移動してから、もう一度やってみてください。
gants

2017/08/20 11:45 編集

hotta様 実行しましたが、ログがおっしゃるように長いので、初めの部分を記載します。 [admin2@localhost ~]$ ansible -m setup -vvv IP Using /etc/ansible/ansible.cfg as config file META: ran handlers Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py <IP> ESTABLISH SSH CONNECTION FOR USER: None <IP> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/b900cbcafe '/bin/sh -c '"'"'echo ~ && sleep 0'"'"'' <IP> (0, '/home/admin2\n', '') <IP> ESTABLISH SSH CONNECTION FOR USER: None <IP> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/b900cbcafe '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988 `" && echo ansible-tmp-1503223639.75-186521324765988="` echo /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988 `" ) && sleep 0'"'"'' <IP> (0, 'ansible-tmp-1503223639.75-186521324765988=/home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988\n', '') <IP> PUT /tmp/tmpMbHq21 TO /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988/setup.py <IP> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/b900cbcafe '[]' <IP> (0, 'sftp> put /tmp/tmpMbHq21 /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988/setup.py\n', '') <IP> ESTABLISH SSH CONNECTION FOR USER: None <IP> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/b900cbcafe '/bin/sh -c '"'"'chmod u+x /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988/ /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988/setup.py && sleep 0'"'"'' <IP> (0, '', '') <IP> ESTABLISH SSH CONNECTION FOR USER: None <IP> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/b900cbcafe -tt '/bin/sh -c '"'"'/usr/bin/python /home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988/setup.py; rm -rf "/home/admin2/.ansible/tmp/ansible-tmp-1503223639.75-186521324765988/" > /dev/null 2>&1 && sleep 0'"'"'' <IP> (0, '\r\n{"invocation": {"module_args": {"filter": "*", "gather_subset": ["all"], "fact_path": "/etc/ansible/facts.d", "gather_timeout": 10}}, "changed": false, "ansible_facts": {"ansible_product_serial": "NA", "ansible_form_factor": "Other", "ansible_product_version": "NA", "ansible_fips": false, "ansible_service_mgr": "systemd", "ansible_user_id": "admin2", "ansible_user_dir": "/home/admin2", "ansible_memtotal_mb": 588, "ansible_ssh_host_key_ecdsa_public": "=", "ansible_distribution_version": "7.3.1611", "ansible_domain": "c.model-obelisk-169519.internal", "ansible_virtualization_type": "NA", "ansible_ssh_host_key_ed25519_public": "", "ansible_processor_cores": 1, "ansible_virtualization_role": "NA", "ansible_dns": {"nameservers": [""], "search": ["c.model-obelisk-169519.internal", ""]}, "ansible_processor_vcpus": 1, "ansible_bios_version": "-----", "ansible_processor": [""], "ansible_date_time": {"weekday_number": "0", "iso8601_basic_short": "20170820T100722", "tz": "UTC", "weeknumber": "33", "hour": ディレクトリを作り/home/admin2/ansible.cfgのファイルを移動させて実行させました。
gants

2017/08/20 15:41

ESTABLISH SSH CONNECTION FOR USER: None Noneと表示が出たので、userをadmin2に変える必要があると考え、-uオプションを使い実行しましたが エラーを出しました。
hotta

2017/08/20 23:28

"ansible_user_id": "admin2" が入っているので、これでOKのようです。 問題となった、もともとの playbook を流してみてください。-u は不要です。
gants

2018/02/27 02:35 編集

hotta様 playbookも流してみました。 PLAY [web] ************************************************************************************************************************************** skipping: no hosts matched PLAY [web] ************************************************************************************************************************************** skipping: no hosts matched PLAY [all] ***************************************************************************************************************************************** TASK [Gathering Facts] ***************************************************************************************************************************** fatal: [-.-.-.-]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true} to retry, use: --limit @/home/admin2/kickcancrew.retry PLAY RECAP ***************************************************************************************************************************************** -.-.-.- : ok=0 changed=0 unreachable=1 failed=0 ansible_user_id": "admin2でuserが入ってるので、不要なのですね。
hotta

2017/08/21 12:06

まだダメですねぇ。 ansible-playbook -i hosts -vvv kickcancrew.yml だとどうなりますか?
gants

2018/02/27 02:34 編集

hotta様 Using /etc/ansible/ansible.cfg as config file statically included: /etc/ansible/roles/ansible-squid/tasks/set_facts.yml statically included: /etc/ansible/roles/ansible-squid/tasks/debian.yml statically included: /etc/ansible/roles/ansible-squid/tasks/redhat.yml statically included: /etc/ansible/roles/ansible-squid/tasks/config_squid.yml statically included: /etc/ansible/roles/ansible-squid/tasks/config_squid_transparent_proxy.yml PLAYBOOK: kickcancrew.yml **************************************************************************************************************************** 7 plays in kickcancrew.yml PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [web] **************************************************************************************************************************************** skipping: no hosts matched PLAY [all] ******************************************************************************************************************************************* TASK [Gathering Facts] ******************************************************************************************************************************* Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py <-.-.-.-> ESTABLISH SSH CONNECTION FOR USER: root <-.-.-.-> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/home/admin2/.ansible/cp/365fceb484 -.-.-.- '/bin/sh -c '"'"'echo ~ && sleep 0'"'"'' <-.-.-.-> (255, '', 'Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n') fatal: [-.-.-.-]: UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n", "unreachable": true } to retry, use: --limit @/home/admin2/kickcancrew.retry PLAY RECAP ******************************************************************************************************************************************* -.-.-.- : ok=0 changed=0 unreachable=1 failed=0 途中で、ユーザー名がrootとありました。 ESTABLISH SSH CONNECTION FOR USER: root これでよいのでしょうか?
hotta

2017/08/21 12:39

また root に戻ってしまってますね。 いったん ansible 自体削除して、関係するファイルも全部どこかに移動して、 playbook も何も書かずに ansible -m setup を通すところからやり直したほうが いいんじゃないでしょうか。関係するファイルが多すぎて、トラブルシュートに 時間がかかりすぎます。
gants

2017/08/21 12:55

hotta様 ansible自体削除し、関係するファイルも移動させるの良いですが、 データをすべて失うわけではありませんよね?ansibleの再インストールということですね。 すみません、初歩的な質問ですが。
hotta

2017/08/21 13:47

そうですね。必要なものは全部どこかに保存しておいてください。その後、 sudo yum remove ansible sudo rm -rf /etc/ansible sudo yum install ansible できれいな体になります。 あと、ホームディレクトリ配下も怪しいので、 別ユーザーを作ってやってみたほうがよいかもしれません。
gants

2017/08/21 14:08

hotta様 新しくユーザーを作り、ansibleを入れ、sshの鍵も新規で作りなおしました。 その状態でansible -m setupを実行しました。 [centos@localhost ~]$ ansible -m setup -.-.-.- [WARNING]: provided hosts list is empty, only localhost is available [WARNING]: No hosts matched, nothing to do また、 [centos@localhost ~]$ ssh -i .ssh/id_rsa -.-.-.- Enter passphrase for key '.ssh/id_rsa': Last login: Mon Aug 21 14:03:08 2017 from ~~ [centos@instance-2 ~]$ とこれは入ることが出来ました。
gants

2018/02/27 02:34 編集

新ユーザーは、centosで実行しています。
hotta

2017/08/21 22:17 編集

やっと正常になりましたね。 次は、ansible.cfg は追加/変更しないで、playbook だけを入れて、 実行してみてください。VPS 側でスナップショットが取れるようなら、 すぐ直前の状態に戻せるようにしておくのも有効です。また Vagrant +VirtualBox で、ローカル環境を作って練習するのもオススメです。
gants

2018/02/27 02:34 編集

hotta様 次は、ansible.cfg は追加/変更しないで、playbook だけを入れて、 実行してみてください。 >hosts、ymlなどはもちろんですが作成して流してみますが。
hotta

2017/08/21 23:24

/etc/ansible/hosts にエントリを入れて通っているので、/home/centos/hosts は(特殊な設定を入れていない限り)不要だと思います。とりあえず、 $ ansible-playbook kickcancrew.yml だけでやってみませんか?
hotta

2017/08/21 23:42

どうしても他のファイルがないと実行できないようなら仕方がないですが、 少なくとも xxx_user など、ansible_user_id の切り替えの設定が混入 しないように気をつけてください。
gants

2018/02/27 02:33 編集

hotta様 今後ともよろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問