概要 原本是ansible1.9.x的版本,后来升级了ansible的版本之后出现,failed to resolve remote temporary directory from ansible-tmp……问题。连最基本的ping模块都使用不了了。
现在使用的ansible的版本是:2.2.1.0
[root@localhost ansible]# ansible --version ansible 2.2.1.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides
问题如下:
[root@localhost ansible]# ansible all -m ping 10.0.10.2 | FAILED! => { "failed": true, "msg": "failed to resolve remote temporary directory from ansible-tmp-1497056262.2-2494116636663 `( umask 77 && mkdir -p \"` echo ~/.ansible/tmp/ansible-tmp-1497056262.2-249411663666383 `\" && echnsible-tmp-1497056262.2-249411663666383=\"` echo ~/.ansible/tmp/ansible-tmp-1497056262.2-249411663663 `\" )` returned empty string" }
问题分析:
这个问题,本质是由于ansbile在2.x,引入了ControlMaster来优化ssh链接的消耗问题。但是这个ControlMaster要依赖于的openssh,如果恰好机器上安装了openssh的高版本,那么就不会出现问题。那么如果是没有安装,那么又要说是ansible的bug了。好了,现在问题找到了,那么解决办法也自然而然了。
下面补充ControlMaster的工作原理讲解
在使用 OpenSSH 登陆到远端服务器时,通常我们会这么做:ssh user@IP执行这个命令,成功登陆服务器后,客户端与服务器建立了一个安全的 TCP/IP 连接。用户每执行一次命令,就会有一个新的连接建立,并一直维持连接直到用户退出。如果用户有大量的连接请求,就需要建立并维持大量的 TCP/IP 连接,消耗用户和主机的资源。OpenSSH 提供一个叫做 ControlMaster 的功能,可以有效缓解这一问题。在使用 ControlMaster后,ssh与服务器建立一个Master连接,之后的所有连接都可以重用这一通道,也就是说不管有多少访问请求,都只需要维护一个TCP/IP连接。
方法一:这是我最开始在gitbub上看到的一个大神的解决方案,也就是关闭ssh ControlMaster功能。
这种方案确确实实是可行的,但是我没有选择。因为我觉得存在既有道理,于是最后我就发现了是openssh的问题。
方法二:安装高版本的openssh:
yum update openssl openssh openssh-server openssh-clients -y
好了,这这个问题解决了
相关推荐
在“Ansible-puppeteer.zip”这个压缩包中,我们可以看到与 Ansible 相关的一个项目,可能是一个特定的自动化场景或者工作流实现。 Ansible 的工作方式基于代理less模型,这意味着无需在被管理节点上安装任何客户端...
Ansible-ansible-junos-ztp.zip,使用ansible自动设置和管理ztp服务器以向junos设备提供软件和启动配置的示例项目。,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-ansible-role-molecule-linux-windows.zip,支持windows的多个操作系统的示例ansible角色。可以在分子中测试。描述,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
总结来说,"Ansible-ansible-role-tomcat.zip"提供了一个方便的解决方案,用于通过Ansible自动化部署和管理Apache Tomcat。通过解压并使用这个角色,你可以高效地在多台服务器上实现Tomcat的一致化配置和部署,从而...
Ansible-ansible-role-apache-php-fpm.zip,apache fastcgi支持php fpmansible角色:apache php-fpm,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-ansible-role-ssh-chroot-jail.zip,ansible role-ssh chroot jail configible role:ssh chroot jail config,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
`ansible-tower-setup-bundle-3.2.6-1.el7.tar.gz` 是一个特定版本的Ansible Tower安装包,适用于Red Hat Enterprise Linux 7 (RHEL 7)系统。 Ansible Tower的主要功能包括: 1. **项目管理**:在Tower中,你可以...
Ansible-Ansible-RHEL7-CIS-Benchmarks.zip,此存储库包含基于Internet安全基准中心harryharcourt.ansible-rhel7-cis-benchmarks的RHEL7/centos的ansible角色,ansible是一个简单而强大的自动化引擎。它用于帮助配置...
ansible-2.8.0-1.el8ae.noarch.rpm python3-jmespath-0.9.0-11.el8.noarch.rpm sshpass-1.06-3.el8ae.x86_64.rpm 若RHEL 8版本的离线本地镜像中无法安装ansible,可使用以上压缩包中的rpm包安装; 安装后可直接使用...
(以前叫’AWX’)是能够帮助任何IT团队更容易使用Ansible的解决方案。该方案基于web。 Tower允许对用户进行权限控制,即使某用户不能传送某SSH凭证,你也可以通过Tower来对该用户共享该凭证。我们可以通过图形化界面...
Ansible-ansible-role-php-xdebug.zip,ansible角色-php xdebugansible角色:php xdebug,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-junos-automation-with-ansible.zip,如何用ansible实现junos的自动化。这个项目有很多可以使用ansible的剧本来与junos设备交互。,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和...
Ansible 是一个开源的自动化工具,它在IT领域中被广泛使用,特别是在配置...在 "Ansible-roles.zip" 中的 "Ansible-roles-master" 文件,可能是用户分享或存储自己创建的 Ansible 角色的一个仓库,便于管理和版本控制。
Ansible-ansible-setup-passwordless-ssh.zip,ansible playbook与远程用户@hosts交换ssh密钥以实现无密码ssh登录目的,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-ansible-role-oh-my-zsh.zip,安装和配置Oh my zsh ansible角色:Oh my zsh,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-dellemc-openmanage-ansible-modules.zip,Dell EMC OpenManager Ansible模块Dell EMC OpenManager Ansible模块,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-Ansible-VMware-vRealize-Automation.zip,Ansible Playbook在VRA上部署虚拟机用于VRealize自动化的Ansible角色-VMWare vCloud IaaS解决方案,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用...
"ansible-2.4-rpms.el7.1.tar.gz"这个压缩包文件,显然包含了Ansible 2.4版本针对RPM包管理的适配,特别适用于基于RPM包管理系统的Linux发行版,如CentOS 7。 Ansible的核心理念是无代理(agentless),这意味着在...
Ansible-ansible-role-visual-studio-code.zip,安装visual studio代码的职责角色职责角色:visualstudio代码,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。