Ansible 主机“无法访问”:true

Ansible 主机“无法访问”:true

我刚刚开始学习 Ansible 的基础知识。在通过SSH。我创建了一个名为公共的html并将我的代码放入该文件夹并更改允许。当我尝试执行我的剧本时,它给了我以下错误

UNREACHABLE! => {"changed": false, "msg": "SSH 错误:无法将数据发送到远程主机。请确保可以通过 ssh 访问此主机", "unreachable"

而当我尝试从用户主目录或 root 用户访问服务器,无需进入目录,即可完美 ping。以下是冗长输出 :

SSH:EXEC sshpass -d15 sftp -b - -C -vvv -o ForwardAgent=yes -o StrictHostKeyChecking=no -o User=root -o ConnectTimeout=10

配置文件是:

[default]
host_key_checking = False

我不知道我遗漏了什么。有人知道吗?

答案1

我最近解决了一个类似的问题,Ansible 仅在需要文件传输(例如复制、模板)的任务中遇到“UNREACHABLE!”错误,而对于其他任何任务,连接都很好。我通过在 [ssh_connection] 部分下向 ansible.cfg 添加以下指令来解决这个问题:

scp_if_ssh = True

您可能从该修复中猜到,该问题与目标服务器的 SFTP 配置有关。由于 Ansible 默认使用 SFTP 传输文件,因此配置错误的服务器在执行涉及文件传输的任何 Ansible 任务时都会遇到错误。因此,如果此更改使错误消失,我建议检查目标服务器的 sshd_config 文件中是否存在 SFTP 配置错误。

相关内容