我想用pipe理一组现有的服务器。 我创build了一个ansible_hosts文件,并使用仅针对单个主机的命令成功(使用-K选项)进行了testing ansible -i ansible_hosts host1 –sudo -K # + commands … 我现在的问题是,每个主机上的用户密码是不同的,但我找不到在Ansible中处理这个问题的方法。 使用-K ,我只提示一个单一的sudo密码,然后似乎在没有提示的情况下尝试所有后续的主机: host1 | … host2 | FAILED => Incorrect sudo password host3 | FAILED => Incorrect sudo password host4 | FAILED => Incorrect sudo password host5 | FAILED => Incorrect sudo password 迄今为止的研究: 一个StackOverflow问题与一个不正确的答案(“使用-K ”)和作者说“发现我需要无密码的sudo” Ansible文档中提到 “使用无密码sudo使事情更容易自动化,但不是必需的” 。 (重点是我的) 这个安全的StackExchange问题 ,它把它看作NOPASSWD是必需的 […]
如何在RHEL(Fedora,CentOS等)或Ubuntu发行版上设置无密码sudo访问? (如果发行版相同,那就更好了!) 设置:个人和/或实验室/培训设备,不涉及未经授权的访问(即,设备在非公共networking上,任何/所有用户都完全信任,设备内容为“普通”)。 。
如果我有一个服务器A,我可以使用我的ssh密钥login到服务器,并且我可以“sudo su – otheruser”,所以我丢失了密钥转发,因为envvariables被删除,并且套接字只能由我原来的用户读取。 有没有一种方法可以通过“sudo su – otheruser”桥接密钥转发,所以我可以使用转发密钥(我的情况下为git clone和rsync)在服务器B上执行一些操作? 我能想到的唯一方法是将我的密钥添加到其他用户的authorized_keys和“ssh otheruser @ localhost”,但是对于我可能拥有的每个用户和服务器组合,这样做很麻烦。 简而言之: $ sudo -HE ssh user@host (success) $ sudo -HE -u otheruser ssh user@host Permission denied (publickey).
今天发现,作为一个不同的用户,我sudo到屏幕上运行屏幕将无法正常工作! 即 ssh bob@server # ssh into server as bob sudo su "monitor" – screen # fails 我有一个脚本作为“监视器”用户运行。 我们在屏幕会话中运行它,以便在屏幕上看到输出。 问题是,我们有一些用户login自己的帐户(即鲍勃,詹姆斯,苏茜等),然后他们sudo到“显示器”用户。 让他们访问“监视”用户是不可能的。