天天看点

Python实现SSH远程登陆,并执行命令!

在自动化测试过程中,比较常用的操作就是对远程主机进行操作,如何操作呢?使用SSH远程登陆到主机,然后执行相应的command即可。

使用Python来实现这些操作就相当简单了。下面是测试code。

代码如下:(code运行环境:python27+eclipse+pydev)

[python]  view plain  copy

  1. import paramiko  
  2. def sshclient_execmd(hostname, port, username, password, execmd):  
  3.     paramiko.util.log_to_file("paramiko.log")  
  4.     s = paramiko.SSHClient()  
  5.     s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
  6.     s.connect(hostname=hostname, port=port, username=username, password=password)  
  7.     stdin, stdout, stderr = s.exec_command (execmd)  
  8.     stdin.write("Y")  # Generally speaking, the first connection, need a simple interaction.  
  9.     print stdout.read()  
  10.     s.close()  
  11. def main():  
  12.     hostname = '10.***.***.**'  
  13.     port = 22  
  14.     username = 'root'  
  15.     password = '******'  
  16.     execmd = "free"  
  17.     sshclient_execmd(hostname, port, username, password, execmd)  
  18. if __name__ == "__main__":  
  19.     main()