python认识paramiko模块

早过忘川 提交于 2019-12-16 20:12:00

1,install

pip install paramiko

官方文档

2,demo

2.1,SSHClient

远程服务器上执行命令

import paramiko

transport = paramiko.Transport((ip, port))
transport.connect(username=servername, password=serverpassword)

ssh = paramiko.SSHClient()
ssh._transport = transport
'''执行命令'''
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode('utf-8'))

transport.close()

2.2,SFTPClient

从远程服务器上批量下载文件

    #方法1,使用SFTPClient封装transport
    #设置ssh链接的远程主机地址和端口
    tran = paramiko.Transport((ip,port))
    #设置登录名和密码
    tran.connect(username=servername,password=serverpassword)

    sftp = paramiko.SFTPClient.from_transport(tran)

    '''获取当前文件夹下的子文件夹的名称'''
    dirnames=get_childname(dirph)
    idx=0
    for dirname in dirnames:
        idx += 1
        remote_dirph = os.path.join(remotepath,dirname)
        local_dirph=os.path.join(localpath,dirname)
        if not os.path.exists(local_dirph):os.mkdir(local_dirph)
        else:continue

        for filename in sftp.listdir(remote_dirph):
            sftp.get(os.path.join(remote_dirph,filename),os.path.join(local_dirph,filename))

        if idx%10==0:
            print("正在下载{}/{}".format(idx,len(dirnames)))
  tran.close()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!