当我从一台服务器到另一台远程服务器执行ansible剧本时,出现错误
“ msg”:“无法通过ssh连接到主机:ssh_askpass:exec(/ usr / bin / ssh-askpass):没有此类文件或目录\ r \ n主机密钥验证失败。”,“无法访问”:是”
打击是我的剧本
- hosts: igwcluster_AM:igwcluster_IS
become: true
become_method: sudo
gather_facts: True
tasks:
- name: Install Oracle Java 8
script:/data2/jenkins/workspace/PreReq_Install_To_Servers/IGW/IGW_Cluster/prereqs_Products/Java.sh
我正在使用两个主机组,每个组有2个服务器。
错误日志:
不可逾越! => {“已更改”:false,“ msg”:“无法通过ssh连接到主机:ssh_askpass:exec(/ usr / bin / ssh-askpass):没有此类文件或目录\ r \ n主机密钥验证失败。 “,” unreachable“:true}
注意:我已经尝试过
host_key_checking = False
ssh_args = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
但是仍然失败。请给我建议
答案 0 :(得分:0)
首先,您必须在“ script:”之后放置空格,并将脚本精确地放置在“ name:”下方,这样看起来就可以了。
tasks:
- name: Install Oracle Java 8
script: /data2/jenkins/workspace/PreReq_Install_To_Servers/IGW/IGW_Clust/prereqs_Products/Java.sh
尝试使用ssh密钥进行ssh授权。
在您要从其执行ansible剧本的服务器上,如果尚未生成ssh密钥,则可以使用简单的命令进行操作:
ssh-keygen
(press enter till command exit)
接下来通过ssh copy id命令将其复制到远程服务器:
ssh-copy-id <remote server IP/FQDN>
此后,您的ansible服务器将能够在没有密码提示的情况下连接到远程服务器,并且不会出现此错误。
如果该方法不适合您,请共享以下信息: