2012-07-18 12 views

回答

0

您必须从想要运行netstat的服务器获得基于密钥的授权。 由于缺少基于密钥的授权,ssh命令将返回一个提示输入密码的提示。

下面的链接,基于密钥的授权:
http://wp.uberdose.com/2006/10/16/ssh-automatic-login/

http://linuxproblem.org/art_9.html

一旦密钥交换,在你的问题中提到的命令不需要任何密码,不会出现提示你的时候运行。

subprocess.Popen(['ssh','server','netstat','-a'],stdout=file1) 
+0

还有别的办法吗? – user1532695 2012-07-18 16:00:06

+0

不,先生。他们是没有的,因为如果钥匙没有交换,它总会提示输入密码。它是ssh库的条件,而不是python语言的条件。 – 2012-07-18 16:14:02