Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在paramiko中使用python命令_Python_Ssh_Paramiko - Fatal编程技术网

在paramiko中使用python命令

在paramiko中使用python命令,python,ssh,paramiko,Python,Ssh,Paramiko,我今天一直在使用Paramiko来处理pythonsh连接,它非常有用 然而,有一件事我真的希望能够在SSH上使用一些蟒蛇糖。据我所知,我只能使用内置的Paramiko函数,如果我想在远程端使用Python,我需要使用我放在那里的脚本,并调用它 有没有一种方法可以通过SSH连接发送Python命令,而不必只满足于Paramiko SSH连接的限制?因为我在Python脚本中通过Paramiko运行SSH连接,所以我只能这样做,但我看不到这样做的方法。好吧,这就是SSH创建的安全shell,命令在

我今天一直在使用Paramiko来处理pythonsh连接,它非常有用

然而,有一件事我真的希望能够在SSH上使用一些蟒蛇糖。据我所知,我只能使用内置的Paramiko函数,如果我想在远程端使用Python,我需要使用我放在那里的脚本,并调用它


有没有一种方法可以通过SSH连接发送Python命令,而不必只满足于Paramiko SSH连接的限制?因为我在Python脚本中通过Paramiko运行SSH连接,所以我只能这样做,但我看不到这样做的方法。

好吧,这就是SSH创建的安全shell,命令在远程机器上执行(你可以把它想象成坐在一台远程计算机上,这并不意味着你可以在一个shell中执行Python命令,尽管你可以与一台机器进行物理交互)

您不能发送Python命令,因为Python没有命令,它执行Python脚本

因此,您所能做的一切都是一件“事情”,它将制定下一步:

  • 将一段Python代码包装到文件中
  • scp
    将其发送到远程机器
  • 在那里执行它
  • 删除脚本(或缓存它以便进一步执行)
  • 基本上,shell命令本身就是远程机器的程序,因此您可以将这些脚本想象成shell扩展(例如,带有命令行参数的python程序)。

    可能就是您想要的。它允许您直接从本地脚本访问另一台机器的python环境

    >>> import rpyc
    >>> conn = rpyc.classic.connect("someremotehost.com")
    >>> conn.modules.sys.path
    ['D:\\projects\\rpyc\\servers', 'd:\\projects', .....]
    
    要通过SSL或SSH建立连接,请参阅:


    那么,我最好的做法是在远程计算机上放置脚本并调用脚本吗?我想不出任何其他方法来做我需要做的事情。@user1463479,基本上是的,如果你想用Python编写脚本,这可能是最好的方法。谢谢你说得这么清楚。这是我的想法,但我需要确认。@user1463479说“Python没有命令”是不正确的。如果您运行“Python--help”,您将看到“-c”选项。它允许“以字符串形式传入的程序”。对于简单的程序,这是可以的