用Python登录 ssh 与 sftp 通过证书登录系统

jopen 10年前

python paramiko ssh sftp 通过证书登录系统,执行命令用

#!/usr/bin/env python  # coding=utf-8  import paramikoimport sys  ####定义私钥key 的位置  pkey_file = '/usr/local/shell/id_rsa'  def sftp(username,port,host,pkey_file,localefile,remotefile):       key = paramiko.RSAKey.from_private_key_file(pkey_file)       t = paramiko.Transport((hostname, port))       t.connect(username=username,pkey=key)       sftp = paramiko.SFTPClient.from_transport(t)       sftp.put(localfile,remotefile)       sftp.close()       t.close  def ssh (hostname,port,username,pkey_file,cmd):       key = paramiko.RSAKey.from_private_key_file(pkey_file)       s = paramiko.SSHClient()       s.load_system_host_keys()       s.set_missing_host_key_policy(paramiko.AutoAddPolicy())       s.connect(hostname,port,username,pkey=key)       stdin,stdout,stderr = s.exec_command(cmd)       for std in stdout.readlines():           print std,       s.close()