paramiko模块的使用

一 介绍

# 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作。
# pip3 install paramiko

二 通过用户名密码方式远程执行命令

import paramiko# 创建SSH对象
ssh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器
ssh.connect(hostname='192.168.16.85', port=22, username='root', password='123456')# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()
# 关闭连接
ssh.close()print(result.decode('utf-8'))

三 通过用户名密码方式上传下载文件

import paramikotransport = paramiko.Transport(('192.168.16.85', 22))
transport.connect(username='root', password='123456')
sftp = paramiko.SFTPClient.from_transport(transport)# 将location.py 上传至服务器 /tmp/test.py
# sftp.put('123.txt', '/data/123.txt')
sftp.get('/data/123.txt', '123.txt')transport.close()

四 通过公钥私钥远程执行命令

import paramikoprivate_key = paramiko.RSAKey.from_private_key_file(r'C:/Users/Administrator/.ssh/id_rsa')# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='192.168.16.85', port=22, username='root', pkey=private_key)# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()# 关闭连接
ssh.close()print(result)

五 通过公钥私钥远程上传下载文件

import paramikoprivate_key = paramiko.RSAKey.from_private_key_file(r'C:/Users/Administrator/.ssh/id_rsa')transport = paramiko.Transport(('192.168.16.85', 22))
transport.connect(username='root', pkey=private_key)sftp = paramiko.SFTPClient.from_transport(transport)
# 将location.py 上传至服务器 /tmp/test.py
# sftp.put('/tmp/123.py', '/tmp/123.py')# 将remove_path 下载到本地 local_path
# sftp.get('123.py', '123.py')transport.close()

六 通过私钥字符串远程连接服务器

# 也可以是存在于数据库中
key = """-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----"""import paramiko
from io import StringIOprivate_key = paramiko.RSAKey(file_obj=StringIO(key))# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='192.168.16.85', port=22, username='root', pkey=private_key)# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()# 关闭连接
ssh.close()print(result)

七 生成公钥私钥并上传

# 1 生成公钥和私钥s
sh-keygen.exe -m pem# 2 在当前用户家目录会生成: .ssh/id_rsa.pub    .ssh/id_rsa# 3 把公钥放到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.16.85 # 4 以后再连接服务器时,不需要在输入密码
ssh root@192.168.16.85

作者:吴常文
出处:https://blog.csdn.net/qq_41405475
本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

paramiko模块的使用相关推荐

  1. 在Ubuntu 14.04.3上安装python中的paramiko模块

    下面是安装命令 cd /usr/local/src git clone https://github.com/paramiko/paramiko.git cd paramiko sudo easy_i ...

  2. paramiko 模块封装

    paramiko 模块封装 #!/usr/bin/env python #coding=utf-8 import paramiko, getpass,sys,traceback class ssh_u ...

  3. python ssh模块有哪些_Python paramiko模块(实现ssh)

    开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko 基于用户密码方式 i ...

  4. Linux上安装paramiko模块

    Linux上安装paramiko模块 一.paramiko模块作用 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是pyt ...

  5. python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...

    对于开发者来说,windows是我们接触最多的操作系统了,但是Linux是我们必不可少的一项重要技能,很多服务或者应用都需要在Linux下运行,掌握Linux系统的基本使用也是非常重要的,今天有一个需 ...

  6. Python基础 - 第九天 - paramiko模块、进程、线程

    本篇内容: 1.paramiko模块使用 2.进程.线程简介 3.python调用线程的方法 4.join - 等待线程执行 5.守护线程 6.GIL - 全局解释器锁 7.互斥锁 8.信号量 9.事 ...

  7. python paramiko模块中设置执行命令超时值

    经常使用paramiko工具对几百台设备进行管理,但是由于服务器本身或是网络原因,有时返回值回不来,然后程序就看在那里一直等待,这个时候后需要设置一个超时值.paramiko模块中执行命令代码如下: ...

  8. python paramiko模块 远程上传目录文件

    目录 上传目录 上传文件 上传目录 python用paramiko模块默认中只可以上传文件,在网上也没有找到合适的直接上传目录的方法,所以用os.walk方法和paramiko结合写了一个上传目录的方 ...

  9. python ssh模块_windows下python SSH的使用——paramiko模块

    paramiko模块实例. #!/usr/bin/python import paramiko server_ip = '192.168.*.*' server_user = 'your_user' ...

  10. python第四十九天--paramiko模块安装大作战

    准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...

最新文章

  1. 惊!YOLOv5重磅来袭!还是基于Pytorch实现?
  2. oracle常见单词_Oracle的词汇表
  3. Git学习笔记:远程仓库
  4. GDCM:gdcm::Unpacker12Bits的测试程序
  5. 201521123014 《Java程序设计》第11周学习总结
  6. 中科慧眼双目安装pcl
  7. python迷宫小游戏大全_Python迷宫小游戏源代码、源程序
  8. 37 SD配置-销售凭证设置-分配项目类别
  9. 判断用户输入的银行卡号是否正确--基于Luhn算法的格式校验
  10. 【华为云技术分享】Python 中的异常和错误
  11. msp430单片机oled汉字字模_OLED液晶屏如何显示中文呢?
  12. RFM模型——构建数据库营销的商业战役!(转)
  13. 通过ADB命令打开MTK和展讯日志的方法
  14. 闸机常用通讯协议(韦根,485等),或者开关量输出(继电器)直接控制
  15. **python入门实战**-华氏度转摄氏度python代码
  16. 计算机未检测到任何网络硬件,win10系统连不上网提示“检测不到任何网络硬件”怎么办...
  17. 安培-麦克斯韦定律修正-运动的电荷产生涡旋磁场(B=μεv×E)
  18. tk/tkx canvas区域放大的代码
  19. python实现梯度下降法
  20. 基于COMSOL Multiphysics的静电场仿真分析

热门文章

  1. 可视化 demo 助你一臂之力
  2. 类人猿学院易语言 yolov7 雷神中控+大漠原生多线程三合一系列教程(最强中控)
  3. 27亿美金被狂撸!这些年,被狠狠抽脸的8次区块链安全祸事儿
  4. 英文地址怎么写?!!
  5. Zookeeper 3.5.7(铲屎官)学习教程
  6. MT【263】待定系数
  7. 鸟瞰前端 , 再论性能优化
  8. DRA的功能和局限性
  9. 阿甘学Java-开篇
  10. GHOST WIN7 X86 OEM 万能预装版 V3.0