Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ssh从python转移到另一台机器时转移stdin_Python_Ssh - Fatal编程技术网

在ssh从python转移到另一台机器时转移stdin

在ssh从python转移到另一台机器时转移stdin,python,ssh,Python,Ssh,我试图使用SSH作为另一台机器的socks代理,然后询问用户是否希望继续。 因此,我使用: proxy_cmd = "ssh -o 'StrictHostKeyChecking no' -i " + key_filename + ' -D 9998 ubuntu@' + ip_address subprocess.Popen(proxy_cmd, shell=True, stdout=subprocess.PIPE) if not raw_input('would you like

我试图使用SSH作为另一台机器的socks代理,然后询问用户是否希望继续。 因此,我使用:

proxy_cmd = "ssh -o 'StrictHostKeyChecking no' -i " + key_filename + ' -D 9998 ubuntu@' + ip_address    
subprocess.Popen(proxy_cmd, shell=True,  stdout=subprocess.PIPE)

if not raw_input('would you like to proceed?(y)')=='y':
    sys.exit()
我得到:

IOError: [Errno 11] Resource temporarily unavailable
我认为这是因为ssh是开放的,它正在捕获stdin或其他东西。我只是不知道如何绕过这一点(我不需要向ssh发送输入,我只想让它打开供Selenium稍后使用)
我该怎么做呢?

如果您想让Python程序可以使用
stdin
,那么您必须重定向
stdin
,以执行
ssh
过程,即使您无意使用它,比如

subprocess.Popen(proxy_cmd,
                 shell=True,
                 stdin=subprocess.PIPE,
                 stdout=subprocess.PIPE)
请注意,
子流程
模块将在
子流程中保留对
Popen
对象的引用。\ u active
列表,但您可能还希望将生成的
Popen
对象绑定到一个变量,以便以后可以对其执行操作