我一直在尝试从Windows平台上的.py运行此命令到ssh:
child = winpexpect.spawn('ssh %s@%s' % ('myID','m.y.i.p'))
它应该与pexpect类似,但我收到此错误:
pexpect.ExceptionPexpect: The command was not found or was not executable: ssh.
我已经确认C:\ rhcygwin \ bin在我的路径中。有关如何指示.py文件找到ssh命令的任何建议吗?
编辑:我改变了方法:在我的.py中运行此代码
command = ['bash', '-c', './myssh.sh']
proc = subprocess.Popen(command, stdout = subprocess.PIPE)
它非常简陋,但它会成功连接。
答案 0 :(得分:1)
据我所知,pexect实际上并不适用于Windows。有一个部分端口尝试,但它在我最后一次检查时被打破了。
如果你想在Windows上使用python自动执行某些操作,你可能会更好地使用paramiko library。有good docs,但您需要编译pycrypto,否则获得precompiled binary。
答案 1 :(得分:1)
您必须使用winspawn方法,并指定.exe扩展名:
child = winpexpect.winspawn('ssh.exe %s@%s' % ('myID','m.y.i.p'))