Ansible失败构建期望的ssh命令(Ansible fails to construct des

2019-09-29 05:19发布

我的组织已制定一项政策,允许“只”下面的ssh命令工作。

ssh -i /tmp/private.key -t user2@host2 bash --noprofile

我试图修改ansible库存主机文件来构建上述SSH。 请看下文中我ansible主机文件:

host2 ansible_ssh_common_args="-t -o UserKnownHostsFile=/dev/null" ansible_shell_executable=sh ANSIBLE_HOST_KEY_CHECKING=false ansible_ssh_private_key_file=/tmp/private.key  USER_RUN=user2

我也试过以下,但他们太失败

ansible_shell_executable=/bin/bash
ansible_ssh_extra_arg=.....

我ansible版本是:

ansible --version

ansible 2.7.1

  config file = /etc/ansible/ansible.cfg

  configured module search path = [u'/home/user1/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']

  ansible python module location = /usr/lib/python2.7/site-packages/ansible

  executable location = /bin/ansible

  python version = 2.7.5 (default, Sep 12 2018, 05:31:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

在调试我看到,ansible构建的SSH没有

庆典--noprfile

之后用户2 @ TARGET2

请大家帮忙提供解决方案。

Answer 1:

要做到这一点,你可以设置通过特定主机的远程shell

库存

some_host  ansible_shell_executable="/bin/bash --noprofile"
other_host ansible_shell_executable="/bin/bash --noprofile"

或全球范围内通过

ansible.cfg

executable = /bin/bash --noprofile

更多信息,请ansible中找到文件 。

请注意,ansible另外确实sftp引擎盖下传输。

恕我直言,如果你想使用在您的组织ansible,我们有理由改变政策。



文章来源: Ansible fails to construct desired ssh command
标签: ssh ansible