直到通过 SSH 连接到 VPS 并通过 Ansible 进行 ping
我使用了Conoha提供的VPS。
服务器操作系统为CentOS Linux 7.2.1511(核心版本)。
我的个人电脑是Mac。
在Mac上,服务器用$符号和#符号进行区分显示。
SSH密钥认证的配置
移动到.ssh目录下,
$ cd ~/.ssh
生成ssh密钥。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):#名前を変えないならenter
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
有关密码短语的问题
我已经成功生成id_rsa和id_rsa.pub文件。
将id_rsa文件添加到Mac上,将id_rsa.pub文件添加到服务器上。
接下来需要编辑config文件。
$ vi config
host (サーバーのホスト名)
HostName (サーバーのIPアドレス)
User (ログインするユーザー名)
IdentityFile (生成した秘密鍵のパス) ここでは (~/.ssh/id_rsa)
接下来,我们将编辑/private/etc/hosts文件。
打开 /private/etc/hosts 文件。
(サーバーのIPアドレス) (サーバーのホスト名) #これを追記する
Mac端的设置是没问题的。
接下来,我们将进行服务器的设置。
首先,通过ssh指定用户名等信息登录到服务器。
$ ssh -l (ユーザー名) (サーバのIPアドレス)
(ユーザー名)@(サーバーのIPアドレス)'s password:
一旦进入,请注册公钥。
转到根目录下的.ssh文件夹。
去那里。
#vi授权密钥
打开authorized_keys文件,复制id_rsa.pub文件的内容。
我会检查权限。
在我的环境中,它是正常的。
SSH 登录时出现“Permission Denied”错误的情况及解决方案。
下一步是更改/etc/ssh/sshd_config的设置。
关于/etc/ssh/sshd_config的内容
打开/etc/ssh/sshd_config文件
只需一种选择,以中文准确地重新表达以下句子: “で開いて、”
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
只需要做以下更改即可完成配置:解除上述三处的注释,并重新启动ssh服务。
只需要一个选项,以下是用中文的原生方式改写:
成功的条件是通过以下命令成功登录服务器:
$ ssh(服务器主机名)
运行Ansible的ping命令
使用Homebrew安装Ansible
我会安装ansible。
将当前目录设置为foo。
$ pwd ~/foo
使用Ansible的ping模块来确认通信。
$ ansible (サーバーのホスト名) -m ping
[WARNING]: provided hosts list is empty, only localhost is available
我在错误中搜索时找到了ansible-tutorial。看起来按照这里的指南做会很好。
看起来默认位置(/etc/ansible/hosts)和(/etc/ansible/ansible.cfg)似乎不存在。
听说当前目录也可以,所以我会创建一个。
$ 触摸 hosts ansible.cfg
创建一个文件,并将github上的ansible.cfg文件的内容复制过来。
使用指令 $ vi hosts 来进行操作。
(サーバーのホスト名) # これを追記
打开ansible.cfg文件
#inventory = /etc/ansible/hosts
↓ #以下に書き換える
inventory = hosts
完成编辑后,再次尝试ping。
$ ansible (サーバーのホスト名) -m ping
(サーバーのホスト名) | SUCCESS => {
"changed": false,
"ping": "pong"
}
如果能够实现如上所述的情况,那就是成功了。