如何使用sudo在我的应用服务器上运行剧本?

问题描述 投票:0回答:1

我正在为我的Application tomcat节点编写一本剧本,它将复制,部署和停止/启动tomcats。我有一个跃点盒服务器A,另一个跃点盒服务器B和tomcat节点tomcatC。手动使用腻子,我使用以下步骤进入tomcat

  1. 使用userId1登录到serverA

  2. 使用userId2到serverB的ssh

  3. 使用userId1到Tomcat的ssh

  4. 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

ansible ansible-inventory
1个回答
0
投票

您可以设置用户运行命令的方式如下:

- 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密钥。

© www.soinside.com 2019 - 2024. All rights reserved.