现在我们登录到 master 虚拟机,然后在上面用 ansible 配置一下 local 还有 dev 这两台虚拟机。进入到项目所在的目录以后,先查看一下现在的虚拟机的状态 .. vagrant status ... 都是 running,表示正在运行,如果你发现没有运行,可以使用 vagrant up 去启动它们。
连接到 master,Mac 用户可以直接使用 vagrant ssh 去连接 ... 后面加上要连接的虚拟机的名字 ... 这里就是 master,Windows 用户可以先执行一下 vagrant ssh-config,然后看一下 master 这台虚拟机的相关的连接信息,再去配置一下 putty ,去连接到这台虚拟机。
连接到 master 以后, 在这里会提示,当前是在 master 这台主机上,我们也可以使用 hostname ,去查看一下主机名 ... 返回的也是 master ..
查看一下可以控制的主机 ... cat /etc/ansible/hosts ,这个文件是启动 master 的时候自动复制过来的。
这里有 local 还有 dev ,我们可以使用 ansible 的命令分别去控制这两个组里面定义的主机。不过在配置之前,先要做一件事,就是在本地生成一对密钥,然后把公钥复制到 local 还有 dev 这两台主机的用户主目录下面。这样你在 master 上连接到这两台主机的时候,就不需要输入密码了,这样做也比直接使用密码更安全一些。
先执行 ssh-keygen ... 一路回车 .. 这样在当前登录的用户的主目录下面会生成两个文件,我们要把 id_rsa.pub 这个文件里的内容添加到想要登录的主机的用户主目录下面的 authorized_keys 这个文件里面。这里可以使用 ssh-copy-id 这个命令 .. 后面用一个 -i 选项,它的后面是 id_rsa.pub 这个文件的位置 ..是在用户主目录下面的 .ssh 下面,文件的名字是 id_rsa.pub
然后要加上 ssh 相关的信息,这里我们用 vagrant 用户,登录到 192.168.33.130 这个主机上,这个 ip 地址是 local 的 ip 地址 ... 回车 ... 会提示是否要继续 ... 输入 yes ... 再回车 .. 又会提示你输入 vagrant 用户的密码,这个用户就是 192.168.33.130 这台主机上的 vagrant 用户。默认它的密码是 vagrant ... 再按下回车 ...
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@192.168.33.130
下面再用类似的方法,去处理一下 dev 这台主机 .. 改一下这个 ip 地址,dev 这台主机的 ip 地址是 192.168.33.131 ...
完成以后,可以去试一下在 master 这台主机上登录到 local 或者 dev 。 ssh vagrant@192.168.33.130 ... 回车 ... 没有提示我们输入密码,直接就能登录到 local 这台主机上了。
你可以从这里的提示看出来,当前登录到的主机的主机名是 local,确认一下,可以使用 hostname 查看一下 ... 会输出 local,或者也可以看一下主机的 ip 地址 ... ifconfig ... 你会看到 ip 地址是 192.168.33.130 ,这是我们为 local 主机分配的 ip 地址。
退出 ssh 登录,输入 exit ... 这样就会回到之前的 master 这台主机上。