python paramiko模块管理S

发布时间:2019-09-05 07:13:05编辑:auto阅读(1599)

    下面是两种使用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() 

     

关键字