【发布时间】:2015-11-11 21:49:18
【问题描述】:
请注意:虽然这个问题是关于如何在 Ansible 中进行 SSH 配置,但我感觉任何 Linux/SSH 专家都会理解 Ansible 文档是什么了解并应该能够为我回答这个问题。
我有三个虚拟机用于实验性 Ansible 设置:
-
ansible01- 我刚刚安装了 Ansible 1.9.2 的 Ubuntu 机器 -
db01- 一台 Ubuntu 机器,我最终将在其中运行 MySQL 实例 -
mq01- 一台 Ubuntu 机器,我最终将在其中运行 RabbitMQ 实例
然后我进入ansible01:/etc/ansible/hosts 并给它以下静态配置:
[databases]
db01.example.org
[brokers]
mq01.example.org
我现在在他们的文档中they discuss SSH keys 的部分,我不完全理解我需要做什么。
它说要运行:
ssh-agent bash
ssh-add ~/.ssh/id_rsa
然后尝试通过ansible all -m ping ping 所有节点。然而,文档并没有说 在哪里我应该执行那些 SSH 命令,我觉得除了这些之外还有更多的东西。
所以我问:我应该在哪里创建 SSH 密钥,以及我需要运行哪些 exact 命令(以及在哪些服务器上),以便ansible all -m ping 能够 ping 两者我的db01 和mq01 机器?
更新
当我 SSH 到 ansible01 并运行这些 SSH 命令时,输出如下:
myuser@ansible01:~$ ssh-agent bash
myuser@ansible01:~$ ssh-add ~/.ssh/id_rsa
/home/myuser/.ssh/id_rsa: No such file or directory
【问题讨论】:
-
似乎您需要创建密钥对。您可以使用以下命令执行此操作: ssh-keygen -t rsa -b 4096 来源:help.github.com/articles/generating-ssh-keys 当您创建该密钥时,您将得到 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub cat将 ~/.ssh/id_rsa.pub 和 SSH 分别连接到每台机器,并创建一个名为 ~/.ssh/authorized_keys 的文件并将公钥的输出粘贴到其中。那个时候你应该是金色的。 :)
标签: ubuntu ssh ansible ssh-keys