下面是两种使用paramiko连接到linux服务器的代码

方式一:

  1. ssh = paramiko.SSHClient() 
  2. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  3. ssh.connect("某IP地址",22,"用户名""口令"

上面的第二行代码的作用是允许连接不在know_hosts文件中的主机

方式二:

  1. t = paramiko.Transport((“主机”,”端口”)) 
  2. t.connect(username = “用户名”, password = “口令”) 

如果连接远程主机需要提供密钥,上面第二行代码可改成:

  1. t.connect(username = “用户名”, password = “口令”, hostkey=”密钥”) 

例子:

  1. #!/usr/bin/python   
  2. import paramiko 
  3.   
  4. ssh = paramiko.SSHClient() 
  5. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  6. ssh.connect("某IP地址",22,"用户名", "口令") 
  7. stdin, stdout, stderr = ssh.exec_command("你的命令")print stdout.readlines() 
  8. ssh.close() 

下载linux服务器上的文件

  1. #!/usr/bin/python   
  2. import paramiko 
  3.   
  4. t = paramiko.Transport((“主机”,”端口”)) 
  5. t.connect(username = “用户名”, password = “口令”) 
  6. sftp = paramiko.SFTPClient.from_transport(t) 
  7. remotepath=’/var/log/system.log’ 
  8. localpath=’/tmp/system.log’ 
  9. sftp.get(remotepath, localpath) 
  10. t.close() 

上传文件到linux服务器

  1. #!/usr/bin/python   
  2. import paramiko 
  3.  
  4. t = paramiko.Transport((“主机”,”端口”)) 
  5. t.connect(username = “用户名”, password = “口令”) 
  6. sftp = paramiko.SFTPClient.from_transport(t) 
  7. remotepath=’/var/log/system.log’ 
  8. localpath=’/tmp/system.log’ 
  9. sftp.put(localpath,remotepath) 
  10. t.close()