在paramiko中使用python命令

时间:2012-08-20 19:57:30

标签: python ssh paramiko

我今天一直在使用Paramiko来使用Python SSH连接,这很有用。

然而,我真的希望能够通过SSH做的一件事就是使用一些Pythonic糖。据我所知,我只能使用内置的Paramiko函数,如果我想在远程端使用Python,我需要使用我放在那里的脚本,然后调用它。

有没有办法可以通过SSH连接发送Python命令,而不是仅仅考虑Paramiko SSH连接的限制?由于我在Python脚本中通过Paramiko运行SSH连接,因此我觉得这样做是正确的,但我看不到这样做的方法。

2 个答案:

答案 0 :(得分:1)

RPyC可能是您正在寻找的。它使您可以直接从本地脚本访问另一台机器的Python环境。

>>> import rpyc
>>> conn = rpyc.classic.connect("someremotehost.com")
>>> conn.modules.sys.path
['D:\\projects\\rpyc\\servers', 'd:\\projects', .....]

要通过SSL或SSH建立连接,请参阅:

http://rpyc.sourceforge.net/docs/secure-connection.html#ssl

答案 1 :(得分:0)

那就是SSH创建的 - 成为一个安全的shell,并且命令在远程计算机上执行(你可以把它想象成你自己坐在远程计算机上,而且要么没有意味着你可以在shell中执行Python命令,尽管你在物理上与机器交互。)

你不能发送Python命令只是因为Python没有命令,它执行Python脚本。

所以你可以做的一切都是“thing”,这会做出下一步:

  1. 将一段Python代码包装到文件中。
  2. scp它到远程机器。
  3. 在那里执行。
  4. 删除脚本(或将其缓存以供进一步执行)。
  5. 基本上shell命令本身就是远程机器的程序,因此您可以将这些脚本视为shell扩展(带有命令行参数的python程序,例如)。