【发布时间】:2019-05-17 18:42:27
【问题描述】:
需要使用 Ansible 在远程主机上的 sudo-user 处运行 bash-script。我的工作机器是Win10 + Cygwin(对不起,这不是我的错)。
所以,我在非 sudo 脚本上对其进行了测试(它不需要 root 访问权限)——它可以工作。
不,第一次根本没用:Failed to connect to the host via ssh: my_user@server1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
所以,我在 my_user 下使用了这个:"ssh-keygen -t rsa" -> "ssh-copy-id my_user@server1" || "ssh-copy-id my_user@server2":创建了一个 ssh-key 并将其发送到远程主机。之后,我可以在 server1、server2 等上的 my_user 下运行脚本...
现在,我需要运行 sudo 脚本。但我无法理解,它会是什么。
- 在 Cygwin 上没有 ROOT 用户。而且我不知道,如何为不存在的用户生成 ssh-key。
- 如何使用 root 运行 ansible playbook?
remote_user: root出现错误:Failed to connect to the host via ssh: my_user@server1: Permission denied看,这是 my_user,而不是 root。它是以 my_user 还是 root-user 身份运行的? - 也许我做错了,是否有任何“最佳实践”-vay 来运行 sudo 脚本?
哦,请帮我解决我的问题。
【问题讨论】:
-
所以,我找到下一个:1. 将
become: true设置为剧本,2. 使用 -K attransible-playbook ./fluentd_install.yml -K它运行时询问 sudo(?) 密码,然后执行脚本。抱歉,我现在卸载有问题,所以我无法检查任务是否运行正确。但它跑了。