zoukankan      html  css  js  c++  java
  • python_paramiko模块

    利用paramiko模块模拟ssh执行命令(明文用户名密码):

    import paramiko
    ssh = paramiko.SSHClient()    #创建ssh对象
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)   #当找不到验证时自动添加
    ssh.connect(hostname='192.168.1.104',port=22,username='songsa',password='123456')   #连接服务器
    data = input('>>>')
    std_in,std_out,std_err = ssh.exec_command(data)   #执行命令
    out,err = std_out.read(),std_err.read()
    result = out if out else err  #如果执行正确 result= stdout.read(),否则 result= stderr.read()
    print(result.decode())

    利用paramiko模块模拟ftp来上传下载(明文用户名密码):

    import paramiko
    transport = paramiko.Transport(('192.168.1.104',22))   #创建实例
    transport.connect(username='root',password='123456')  #建立连接
    sftp = paramiko.SFTPClient.from_transport(transport)  #将创建的实例当作参数传给paramiko.SFTPClient.from_transport,交互实在这里边进行的
    sftp.put(r'C:UserssongsaDesktoppython.tgz','/home/songsa/python_test/python.tgz') #上传
    sftp.get('/home/songsa/python_test/python.tgz',r'C:UserssongsaDesktoppython.tgz') #下载
    transport.close()

    利用paramiko模块模拟ssh执行命令(基于公钥):

    import paramiko
    private_key = paramiko.RSAKey.from_private_key_file(r'C:UserssongsaPycharmProjectsuntitled3.21id_rsa')
    ssh = paramiko.SSHClient()  #创建SSH对象
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy) #允许连接不在know_hosts文件中的主机
    ssh.connect(hostname='192.168.1.104',port=22,username='songsa',pkey=private_key)#连接服务器
    stdin,stdout,stderr =  ssh.exec_command('pwd') #执行命令
    result = stdout.read()
    print(result.decode())
    ssh.close()

    利用paramiko模块模拟ftp来上传下载(基于公钥):

    import paramiko
    private_key = paramiko.RSAKey.from_private_key_file(r'C:UserssongsaPycharmProjectsuntitled3.21id_rsa')
    transport = paramiko.Transport(('172.20.0.158', 22))
    transport.connect(username='songsa', pkey=private_key)
    sftp = paramiko.SFTPClient.from_transport(transport)
    sftp.get('/home/songsa/.ssh/id_rsa','id_rsa.txt')
    transport.close()
  • 相关阅读:
    用户访问集群架构的流程
    HTTP请求方法 HTTP的响应方法
    数据报文
    什么是HTTP? 什么是超文本? 什么是URL?
    HTTP协议原理
    C语言之数据类型③——字符与字符串
    C语言之数据类型②——浮点类型
    C语言之数据类型①——整数类型
    uniapp自定义小程序左上角的图标并且添加自定义事件
    在uniapp中使用iconfont
  • 原文地址:https://www.cnblogs.com/ss-py/p/8623851.html
Copyright © 2011-2022 走看看