如何在不使用SSH的情况下在运行Linux的远程机器上执行进程。 由于计算机定期进行PXE引导,所以将会更改SSH密钥,并排除使用SSH通过脚本执行进程。 任何想法如何可以做?
定期通过pxe重新安装并不排除使用ssh。
我不知道你在使用什么发行版,但是让pxe安装将公有的ssh密钥添加到系统的authorized_keys
文件中可能是微不足道的。 (我最熟悉Red Hat / Fedora,而且我总是用我的pxe安装程序来做这件事。)
ssh将是最安全的钥匙到位; 但是你可以在远程机器上设置一个web服务器,并通过发送给一些php或者cgi脚本来执行命令,然后这些脚本会为你运行命令。 为什么是SSH的问题? 你正在运行什么样的命令?
Crontab会帮助你。 在crontab中添加您的脚本,将自动运行您的脚本。
如果您的SSH问题与SSH密钥known_hosts
文件相关,则可以禁用主机密钥validation。 看看这个post 。 但是,您需要确保您不受中间人攻击的危害。
可以创buildWeb界面来执行命令,但是您需要授予Web服务器进程用户足够的权限来执行所需的命令(可能使用sudoers)。
那么使用/etc/rc.d/rc.local文件呢? 这是在启动时执行的。
要回答你的问题,请安装一个盐瓶,并在每次重新启动时删除主公钥。 盐主人可以设置自动签名的奴才。 他们将自动重新协商密钥,然后在每次重新启动后,小型人员将在事件总线上准备好命令。
不公平的是2017年(盐在2012年不存在),但我只是想知道,如果我能再没有SaltStack生活…取代jenkins奴隶? 不! 完全不同的事情 – jenkins奴隶不会为您运行远程命令…