使用Python SSH在远程服务器上运行应用程序

时间:2015-01-29 14:08:21

标签: python python-2.7 python-3.x paramiko

是否有可能执行这样的远程Windows机器中的应用程序?远程主机正在运行Cygwin SSH服务器,我从我的笔记本电脑运行下面的python脚本。应用程序“xt-ocd.exe”位于指定路径“c / Program Files(x86)/ Tensilica / Xtensa OCD Daemon 9.0.3”

ssh.connect('135.24.200.100',username = 'cyg_server',password = 'force')
stdin,stdout,stderr = ssh.exec_command("cd '/cygdrive/c/Program Files     (x86)/Tensilica/Xtensa OCD Daemon 9.0.3';./xt-ocd.exe")

上述脚本无效。我不确定自己是否走在正确的轨道上。请帮忙。

3 个答案:

答案 0 :(得分:1)

"cd '/cygdrive/c/Program Files (x86)/Tensilica/Xtensa OCD Daemon 9.0.3';./xt-ocd.exe"实际上并不代表一个命令,而是两个不同的命令(cdxt-ocd)。这必须由shell解释。

如果工作目录无关紧要,您可以尝试使用Iskren提出的可执行文件的完整路径。但是如果你真的需要设置工作目录,你可以尝试:

stdin,stdout,stderr = ssh.exec_command("bash -c \"cd '/cygdrive/c/Program Files (x86)/Tensilica/Xtensa OCD Daemon 9.0.3';./xt-ocd.exe\"")

答案 1 :(得分:0)

我认为问题出在您使用的cd上,它不是命令而是shell函数,而且您没有shell。尝试执行如下:

ssh.exec_command('/cygdrive/c/Program Files (x86)/Tensilica/Xtensa OCD Daemon 9.0.3/xt-ocd.exe')

答案 2 :(得分:0)

您也可以尝试启动程序的完整路径,而不是更改工作目录,然后启动它。