python paramiko模块的使

发布时间:2019-07-15 10:45:51编辑:auto阅读(1170)

    一般使用paramiko的功能就是通过ssh远程执行命令,远程(上传、下载)传输文件等等

    依赖包:/usr/local/python27/bin/pip install pycrypto

    下载包 paramiko

    #wget http://en.onlinedown.net/down/paramiko-1.7.7.1.zip

    #unzip paramiko-1.7.7.1.zip

    #cd paramiko-1.7.7.1

    #python setup.py build

    #python setup.py install

    #!/usr/bin/env python



    #vim paramiko.py

    #!/usr/bin/env python

    import paramiko            \\导入模块   

    hostname='192.168.10.106'   \\定义需要链接的主机

    port=22                      \\定义链接的端口

    username='root'               \\定义链接的账号

    password='123456'              \\定义登陆密码


    if __name__=='__main__':        \\如果当前的模块名称等于启动的主模块运行,就执行如下

        paramiko.util.log_to_file('paramiko.log')   \\指定执行的日志文件,日志名为paramiko.log

        s=paramiko.SSHClient()          \\创建客户端链接服务端的对象s

        s.load_system_host_keys()        \\ 加载主机秘钥

        s.connect(hostname,port,username,password)  \\链接主机

        stdin,stdout,stderr=s.exec_command('ifconfig')  

                      \\执行命令 ifconfig    stdin:标准输入stdout:标准输出 stderr:标准错误

        print stdout.read() \\打印标准输出的结果

        s.close()            \\关闭链接





    从服务器端上传或下载文件


    #!/usr/bin/env python

    import paramiko      导入模块   

    import os

    hostname='192.168.10.106'   \\定义需要链接的主机

    port=22                      \\定义链接的端口

    username='root'               \\定义链接的账号

    password='123456'              \\定义登陆密码

    dir_path='/home/soul/temp'      \\定义请求下载的文件路径


    if __name__=='__main__':

    t=paramiko.Transport((hostname,port))   \\创建一个传输对象

    t.connect(username=username,password=password)  \\建立链接服务器

    sftp=paramiko.SFTPClient.from_transport(t)       \\创建一个下载传输对象sftp

    files=sftp.listdir(dir_path) 

                       \\建立一个files对象,用于存放listdir从指定的路径dir_path中拿到的文件

    for f in files:          \\定义f从存放的文件中轮询

        print 'Retrieving',f  \\打印拿到的文件名称

        sftp.get(os.path.join(dir_path,f),f)   \\从指定路径下 下载文件

        t.close()        \\关闭链接

    下载:get  上传put

    如从本地将/home/soul/temp/paramiko-1.7.7.1.zip文件上传到服务器的/home/路径下

    sftp.put('/home/soul/temp/paramiko-1.7.7.1.zip','/home/paramiko-1.7.7.1.zip')

    t.close()


关键字

上一篇: python2的异常类型

下一篇: python用作监控