【问题标题】:Ansible cannot reach localhostAnsible 无法访问本地主机
【发布时间】:2021-12-27 14:27:49
【问题描述】:

我用命令创建了键

ssh-keygen -t rsa

chmod 600 .ssh/authorized_keys

然后我使用命令 ssh-copy-id timur@127.0.0.1

现在命令 ssh 127.0.0.1 不需要密码。 然后我为ansible创建了hosts文件

[staging_servers]

linux_local ansible_host=127.0.0.1 ansible_connection=ssh ansible_user=timur ansible_ssh_private_key_file=/home/timur/.ssh/authorized_keys

当我运行ansible all -m ping 时出现错误:

[![错误图片][1]][1]

我做错了什么? [1]:https://i.stack.imgur.com/TMKt0.png

【问题讨论】:

    标签: ssh ansible devops


    【解决方案1】:

    .ssh/authorized_keys 不是私钥文件,它包含已授权的公钥。您似乎也没有将实际私钥文件的权限更改为可被 openssh 接受。

    【讨论】:

      【解决方案2】:

      如果您只想更改 localhost 上的某些内容,有一个更好的选择:在 playbook 中使用 connection: local,或使用此清单:

      [staging_servers]
      linux_local ansible_connection=local
      

      它将完全跳过整个 ssh 事情并直接在本地机器上运行模块。

      此外,根据我的经验,这是运行 Ansible 的最快方式。如果你能负担得起弄乱本地机器,那就去做吧,与它一起工作是一种幸福。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-07
        • 1970-01-01
        • 2017-09-29
        • 1970-01-01
        • 2021-07-19
        • 2018-08-14
        相关资源
        最近更新 更多