有关 Ansible/SSH 的问题?

有关 Ansible/SSH 的问题?

我试图理解 SSH 和 ansible 在 inventory 上的设置之间的一些关系。我正在运行一个 playbook 部署,每当我像这样设置 inventory 时:

[status]
qastatus ansible_ssh_user=ansible ansible_ssh_host=172.16.19.34 ansible_ssh_private_key_file=~/credentials/ansible_id_rsa 
I am having permission denied but when I set like that 

[status]
172.16.19.34 ansible_connection=local 

它开始运行部署过程,找到并在这里停止:

TASK: [nodejs_app | Pull down code] ******************************************* 
failed: [172.16.19.34] => {"changed": true, "cmd": ["s3cmd", "-c", "/root/.s3cfg", "get", "s3://snapav-code/cs-system-status/cs-system-status-7ab76c7ec22af26fa3605d55750b6050e5ca17d5-2015-11-02_03-23-46--75.tar.gz", "/var/cs-apps/cs-system-status/7ab76c7ec22af26fa3605d55750b6050e5ca17d5-2015-11-02_03-23-46--75"], "delta": "0:00:00.148056", "end": "2015-11-02 22:45:36.958560", "item": "", "rc": 1, "start": "2015-11-02 22:45:36.810504"}
stderr: ERROR: /root/.s3cfg: Permission denied
ERROR: Configuration file not available.
ERROR: Consider using --configure parameter to create one.

我不知道为什么???我应该怎么做才能解决它?

答案1

确保你可以在不使用 ansible cmd 的情况下使用正确的用户名 ssh 到远程主机

ssh uname@host 

完成后,编辑你的/etc/ansible/hosts文件,例如这是我使用 ssh 连接到我的 vagrant box 的方式

# Ex 1: Ungrouped hosts, specify before any group headers.
[all:vars]
ansible_ssh_user=vagrant


#green.example.com
#blue.example.com
#192.168.100.1
#192.168.100.10
[slave]
{{some_ip_here}}
...

现在只需运行您想要的命令或快速测试:

ansible slave -m ping

相关内容