在SSH服务器上运行本地脚本

时间:2015-06-04 10:56:49

标签: linux bash ssh

我使用Linux使用ssh登录服务器。一旦我登录,我想执行一个本地Python脚本,该脚本使用netcat在远程计算机上运行某些程序(因此需要登录才能访问它)

本地我可以在bash上键入./script.py来运行脚本但是如果我在连接到不起作用的远程服务器时执行此操作。这是因为终端现在位于远程计算机上的目录中,不再位于本地目录中。

那么如何在登录时对远程计算机执行本地脚本而不先复制它?

1 个答案:

答案 0 :(得分:2)

您可以使用管道轻松完成:
我要测试的示例程序:(py.py)

import socket print socket.gethostname()

远程运行:

ssh remoteserver "python" < py.py
输出是:

remoteserver name

如果您的用户路径不包含python,则必须使用完整路径

ssh remoteserver "/usr/bin/python" < py.py

在我的环境中。