zoukankan      html  css  js  c++  java
  • python--paramiko模块

    sftp传送文件:

    import paramiko
    
    transport = paramiko.Transport(('localhost',22))
    transport.connect(username='guqing',password='sina4433')
    
    sftp = paramiko.SFTPClient.from_transport(transport)
    #将location.py上传至服务器/guqing/home/lib
    sftp.put('/home/guqing/para/lib','/home/guqing/lib')  #source,remote
    #将远程文件下载至本地/home/guqing/test/lib
    sftp.get('/home/guqing/lib','/home/guqing/test/lib')  #remote,local
    
    transport.close()
    

     ssh:

    import paramiko
    #创建SSH对象
    ssh = paramiko.SSHClient()
    #允许连接不再know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    #连接服务器
    ssh.connect(hostname='localhost',port=22,username='guqing',password='sina4433')
    #执行命令
    stdin,stdout,stderr = ssh.exec_command('df')
    res,err = stdout.read(),stderr.read()
    result = res if res else err
    
    print(result.decode())
    ssh.close()
    

    基于秘钥之sftp:

    import paramiko
    
    
    
    private_key = paramiko.RSAKey.from_private_key_file('/home/guqing/.ssh/id_rsa')
    
    
    transport = paramiko.Transport(('localhost',22))   #remote_host
    transport.connect(username='guqing',pkey=private_key)
    
    sftp = paramiko.SFTPClient.from_transport(transport)
    #将location.py上传至服务器/guqing/home/lib
    sftp.put('/home/guqing/para/lib','/home/guqing/lib')  #source,remote
    #将远程文件下载至本地/home/guqing/test/lib
    sftp.get('/home/guqing/lib','/home/guqing/test/lib')  #remote,local
    
    transport.close()
    

    基于秘钥之ssh:

    import paramiko
    
    #ssh-copy-id "-p22 guqing@10.0.0.31"   #复制本地用户公钥至远程主机
    
    private_key = paramiko.RSAKey.from_private_key_file('/home/guqing/.ssh/id_rsa')
    
    #创建SSH对象
    ssh = paramiko.SSHClient()
    #允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    #连接服务器
    ssh.connect(hostname='localhost',port=22,username='guqing',pkey=private_key)
    
    
    stdin,stdout,stderr = ssh.exec_command('df')
    res,err = stdout.read(),stderr.read()
    result = res if res else err
    
    print(result.decode())
    ssh.close()
    
  • 相关阅读:
    转 linux下vi命令大全
    转 html5 canvas 详细使用教程
    怎么让手机网站自适应设备屏幕宽度? 转自百度经验
    转 :<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 的说明
    转自haorooms :网页防止黑客跨框架攻击,及浏览器安全性想到的
    元信息标记<meta>
    Java语言的主要特性
    学习面向对象的三条主线之一 java类及类的成员
    1.5 MySQL信息源
    1.4在MySQL 8.0中添加,不建议使用或删除的服务器和状态变量及选项
  • 原文地址:https://www.cnblogs.com/guqing/p/6421492.html
Copyright © 2011-2022 走看看