ansible ssh: Permission denied

m4ak@m4ak-System-Product-Name:~/tools/ansible$ ansible test -m ping 
23.83.244.63 | 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
}

===============================

===============================

m4ak@m4ak-System-Product-Name:~/tools/ansible$ ansible test -m ping  -u root
23.83.244.63 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

=============================

密钥已经传过去了,加-u root 可以,不加就不可以。请问是怎么回事?

阅读 10.6k
2 个回答

Hi @cn_ak

我想您是把私鑰傳到的 managed node (已傳私鑰過去的那台機器) 上的 root 使用者裡,可您要是沒有在 ansible.cfg 或 inventory 另外設定使用者的話,會是用 control machine (現在使用 ansible 操作指令的機器) 上的使用者 m4ak 去連 ssh,所以才需手動指定 root

看看你执行文件的权限,你题目问题报错就是权限不足,所以你加了root会正确执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进