zoukankan      html  css  js  c++  java
  • python入门之paramiko模块

      paramiko用于实现ssh远程连接服务器执行相关操作。

      paramiko与之依赖模块cryptography最好版本相同,不然可能执行程序会出错。

    一、ssh连接服务器执行命令

     1 import paramiko
     2 
     3 # 创建SSH对象
     4 ssh = paramiko.SSHClient()
     5 # 允许连接不在know_hosts文件里的主机,如果没有这条,第一次连接会报错
     6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     7 # 连接服务器
     8 ssh.connect(hostname="192.168.0.102",port=22,username="root",password="123456")
    # pk = paramiko.RSAKey.from_private_key_file('id_rsa')
    9 # ssh.connect(hostname="192.168.0.102",port=22,username="root",pkey=pk) 当前目录下有密钥文件,可以使用密钥安全连接 10 # 执行命令,返回标准输入,标准输出,标准错误,并不是同时有结果 11 stdin,stdout,stderr = ssh.exec_command("top") 12 # 获取命令结果,三元运算,谁有值就输出谁 13 out,err = stdout.read(),stderr.read() 14 res = out if out else err 15 print(res.decode()) 16 # 关闭连接 17 ssh.close()

    二、ssh连接服务器上传下载文件

     1 import paramiko
     2 
     3 # 建立一个连接通道
     4 transport = paramiko.Transport(("192.168.0.102",22))
     5 transport.connect(username="root",password="123456")
    # pk = paramiko.RSAKey.from_private_key_file('id_rsa')
    6 # transport.connect(username="root",pkey=pk) 当前目录下有密钥文件,可以使用密钥安全连接 7 8 # 以设定的方式开始连接 9 sftp = paramiko.SFTPClient.from_transport(transport) 10 # 上传 11 sftp.put('/data/123.txt','/opt/321.txt') 12 # 下载 13 sftp.get('/data/abc.txt','cba.txt') 14 15 transport.close()
  • 相关阅读:
    字体大小(几号-几磅
    基于有限差分的偏移方法与基于相移方法的区别
    ubuntu aptget install problem
    su安装
    石油、天然气、地质类投稿刊物及邮箱
    ubuntu添加中文输入法
    C#使用Quartz.NET详细讲解
    Using Developer Dashboard in SharePoint 2010
    Windows Server AppFabric 使用
    列出联接和投影
  • 原文地址:https://www.cnblogs.com/chy-op/p/10711768.html
Copyright © 2011-2022 走看看