我必须使用SUBPROCESS进行SSH'由于项目限制,cuz无法从python 3.1更改(遗憾的是它几乎不支持ssh库)。
我在运行Windows的本地和远程计算机上安装了openSSH。
问题:我可以尝试ssh但无法输入密码和后续命令,例如dir和获取结果。
proc = subprocess.Popen("ssh -t -t remote_ip_here\n", shell = False, stdin = subprocess.PIPE, stdout=subprocess.PIPE)
#Entering password
proc.stdin.write(bytes("abc123\n","utf-8"))
#entering command
self.text , self.error = proc.communicate() // here I tried readlines() but it didnt returned any response.
print(self.text.decode("utf-8"))
proc.stdin.write(bytes("dir\n","utf-8"))
有任何线索吗?
答案 0 :(得分:2)
Sending a password over SSH or SCP with subprocess.Popen
如果您想使用Windows,您应该查看一个pexpect端口:https://bitbucket.org/geertj/winpexpect/wiki/Home