我正在为我的Application tomcat节点编写一本剧本,它将复制,部署和停止/启动tomcats。我有一个跃点盒服务器A,另一个跃点盒服务器B和tomcat节点tomcatC。手动使用腻子,我使用以下步骤进入tomcat
使用userId1登录到serverA
使用userId2到serverB的ssh
使用userId1到Tomcat的ssh
tomcat用户的sudo。
而且我还可以直接从serverA SSH到tomcatC,而我的Ansible主服务器也是我运行剧本所在的serverA。
我该如何运行我的剧本?以下是我目前正在使用的我的剧本,但无法正常工作。'ansible-playbook -i我的清单my-V3.yml --tags =下载,复制,部署-e release_version = 5.7 -e target_env = tomcatC -u userId1 --ask-sudo-pass'。
得到此错误-致命:[tomcatC] => SSH错误:权限被拒绝(gssapi-keyex,gssapi-with-mic,publickey,password,键盘交互)。而连接到tomcatC:22
您可以设置用户运行命令的方式如下:
- cron:
name: "Clear Root Mail"
minute: "0"
hour: "22"
job: "sudo rm /var/spool/mail/root"
user: myuser
或使用成为:真像这样:
- name: Start Server
shell: "nohup /home/myuser/StartServer.sh &"
become: true
您可以让shell脚本运行您需要运行的命令,以及从您的跳转框中进行的ansible调用。您的问题似乎是您没有应用正确的ssh密钥。