我厌倦了这样做。在
ssh me@somehost.com
input my password
sudo su - someuser
input my password
cd /some/working/directory
<run some commands>
有没有办法让它自动化?我需要特殊的外壳吗?或者一个shell模拟器?我可以用编程方式将shell驱动到某个点,然后对它运行手动命令吗?在
额外的加分是用python编写的,以获得额外的黑客优势
编辑:下面所有的答案都集中在问题的“全自动化”部分:难的部分是我上面强调的。这是另一个例子,看看我是否能抓住本质。在
^{pr2}$
我不太确定您在问什么,但您可能要问的是让SSH在无密码模式下使用公钥工作。一般的想法是生成一个SSH密钥对:
这给了你}。您将
id_rsa
和{id_rsa.pub
的内容附加到目标用户的~/.ssh/authorized_keys
文件中,从此以后SSH将不再请求凭据。在您的示例中,这将导致:仅一次
^{pr2}$从现在开始,你现在可以跑了
不会被提示输入凭据。在
正如其他人所指出的,织物是个不错的选择。还有一个pexpect可能是你想要的。在
对于ssh/身份验证部分,您可以setup passwordless authentication by using keys。然后您可以简单地使用
ssh
和bash脚本以自动方式执行一系列命令。在在这里,可以使用Python,但是如果您正在执行一系列shell命令,那么使用shell脚本可能是一个更好的主意,因为它们正是这样做的。在
或者,根据您的自动化需求查看Fabric。它是基于Python的,你的“食谱”是用Python编写的。在
相关问题 更多 >
编程相关推荐