我希望你能帮我翻译一段关于IT技术的文本。内容为我想编写一个Python脚本,用于SSH到服务器并执行命令。我在Windows上使用Python 2.6,并安装了plink和paegent(用于SSH密钥),并将它们全部添加到了我的路径中。
如果我打开命令提示符并输入以下命令:
plink username@host -i key.ppk
open vnc://www.example.com/
我看到了期望的行为——VNC查看器在我的Mac(服务器)上打开。
但是,我已经尝试过两种通过Python编程来实现此目标的方法,但都无法正常工作:
方法1(os):
import os
ff=os.popen("plink user@host -i key.ppk",'w')
print >>ff, r"open vnc://www.example.com"
ff.flush()
方法二(子进程):
import subprocess
ff=subprocess.Popen("plink user@host -i key.ppk",shell=False,stdin=subprocess.PIPE)
ff.stdin.write(r"open vnc://www.example.com")
ff.stdin.flush()
两种方法都没有产生错误,但是都没有打开VNC窗口。然而,我相信它们都成功连接到了远程主机。
我做错了什么?
plink
和putty
,而不是使用 paramiko 或者可能的 fabric 呢? - wkl