从本地窗口运行shell脚本到远程linux服务器?

时间:2016-07-27 12:50:53

标签: unix ssh putty plink

我正在尝试运行一个shell脚本来在远程linux机器上执行二进制文件。二进制和shell脚本都在我的本地窗口机器上。有没有办法通过命令行工具(如 PLINK )直接从Windows运行二进制文件到远程机器?

我不想把二进制文件和脚本放到所有远程linux盒子里面 我想让它们运行,而不是我想运行shell脚本,它将实习生调用二进制文件并直接通过我的本地机器执行所需的功能。

2 个答案:

答案 0 :(得分:0)

在执行之前,您必须将二进制文件复制到远程Linux框中。但是,您可以在Windows机器上安装一个脚本,该脚本使用sftp将二进制程序传输到/tmp下的临时目录,然后再运行它,因此无需手动设置。

答案 1 :(得分:0)

您可以远程运行shell脚本,只需通过ssh:

进行管道传输即可
cat my_script.sh | ssh -T my_server

(或者无论windows / plink等价物是什么。)

但是,您无法通过管道远程运行二进制文件,该文件必须存在于远程服务器上。您可以通过将文件从Windows计算机推送到远程服务器上的已知位置,然后编辑脚本以期望文件存在于该位置来执行此操作:

scp my_binary my_server:/tmp
cat my_script.sh | ssh -T my_server

然后让你的脚本运行该二进制文件:

/tmp/my_binary

或者您可以编写脚本,以便从您托管它的中心位置提取二进制文件:

wget -O /tmp/my_binary http://my_fileserver/my_binary
/tmp/my_binary

注意,如果shell脚本除了调用二进制文件之外没有执行任何其他操作,那么您不需要它。您可以直接通过ssh:

激活命令
ssh -T my_server "cd /tmp && wget http://my_fileserver/my_binary && ./my_binary"