在使用Vagrant创建的两个虚拟机中尝试进行Ansible练习时的备忘录(连接错误篇)
=====注意=====
这篇文章只是我写下了自己遇到的困难,没有其他特别的内容。
我写下这些是因为也许其他人也有类似的问题,但可能会有很多人会说:“嗯,这是理所当然的嘛(笑)”。
所以,请温柔地好好观察着我吧(?)。
============
我想试试这样的事情。
1)老板说:“刚才的playbook有点乱,下次整理一下。可以吗?”
2)什么?!
3)我从来没写过playbook,甚至没有碰过ansible
4)那就用Vagrant创建主机和目标,然后在主机上做一些操作吧
所以,
5)打开命令提示符
6)使用vagrant init centos/7命令初始化
7)随意编写Vagrantfile文件
8)启动主机
9)启动目标机
做好准备,在Poderosa上连接到主机。
然后一边查找资料,一边使用yum install epel-release和yum install ansible安装Ansible。
通过ansible –version命令可以查看版本号。安装成功!
所以,我立刻尝试发送了一条 ping。
使用ansible [目标的IP] -m ping命令
出现的是
[target的IP] | 不可达! => {
“changed”: false,
“msg”: “无法通过ssh连接到主机。”,
“unreachable”: true
}
这是什么东西!?
经过仔细调查,发现没有~/.ssh/config文件,所以无法正确设置用于连接的ssh密钥。
那就来进行设置吧。
11)打开 ~/.ssh/config 文件
Host [目标IP]
用户 vagrant
身份验证文件 ~/.ssh/ansible-target-key
仅限身份验证
※ansible-target-key 的内容是在执行 vagrant up target 命令时生成的 private_key
使用这个命令再次对 [目标IP] 执行 ansible 的 ping 命令。
结果一样嘛!
哎,钥匙弄错了吗?总之,能正常连接吗?这就是意思。
12)使用SSH连接目标IP。
哎呀呀呀…因为权限变成了644…
13)将文件位置为~/.ssh/ansible-target-key的文件权限设置为600。
以下是中文的同义句:再一次
14)ansible [目标IP] -m ping
[target的IP] | 成功 => {
“更改”: false,
“ping”: “pong”
}
“来吧,大厦。”
结果就是,我之前偏误地保留了原本应该有的钥匙权限。但是,一般用Ansible并不会出现权限错误,所以在连接到另一台服务器时,首先需要通过ssh命令确认是否可以正常连接,这是必需的。