paramiko

一 介绍

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

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

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

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

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

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

  1. import paramiko
  2. private_key = paramiko.RSAKey.from_private_key_file(r'C:/Users/Administrator/.ssh/id_rsa')
  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.16.85', port=22, username='root', pkey=private_key)
  9. # 执行命令
  10. stdin, stdout, stderr = ssh.exec_command('df')
  11. # 获取命令结果
  12. result = stdout.read()
  13. # 关闭连接
  14. ssh.close()
  15. print(result)

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

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

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

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

七 生成公钥私钥并上传

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

其它——paramiko模块的使用的更多相关文章

  1. paramiko模块的安装

    1.找到自己python安装的目录(默认路径:C:\Users\zhangliyuan\AppData\Local\Programs\Python\Python35) 注:cmd中所有命令 2.进入S ...

  2. python远程连接paramiko 模块和堡垒机实现

    paramiko使用 paramiko模块是基于python实现了SSH2远程安全连接,支持认证和密钥方式,可以实现远程连接.命令执行.文件传输.中间SSH代理功能 安装 pip install pa ...

  3. 利用paramiko模块实现堡垒机+审计功能

    paramiko模块是一个远程连接服务器,全真模拟ssh2协议的python模块,借助paramiko源码包中的demos目录下:demo.py和interactive.py两个模块实现简单的堡垒机+ ...

  4. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  5. paramiko模块-2

    如何用paramiko模块模拟登入服务器,并记录操作日志,起到审计的作用? 各个client ---(连接跳转机)--->(跳转机)------>各自的目标服务器. 目前我们公司的跳转机, ...

  6. paramiko模块

    安装: # pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto (1) wget http://ftp.dlitz.net/pub/dlitz/cr ...

  7. Win7下Python2.7环境安装paramiko模块

    Win7下Python2.7环境安装paramiko模块,经过安装并测试成功,整理文档如下: 1.下载安装Windows版本的Python2.7,我默认装在C:\Python27 我的python已经 ...

  8. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  9. paramiko模块,线程,进程

    关于paramiko模块 paramiko是基于Python实现的ssh2远程安全连接,支持认证及密钥方式远程执行命令.文件传输,中间ssh代理等 paramiko的安装: 安装好之后,用parami ...

  10. Python paramiko 模块

    paramiko模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建SSH对象 ssh ...

随机推荐

  1. 【tvm解析】 Operator Strategy 机制

    本文地址:https://www.cnblogs.com/wanger-sjtu/p/15082871.html Relay Operator Strategy是建立Relay IR与TOPI算子库的 ...

  2. 【技术积累】Mysql中的SQL语言【技术篇】【二】

    什么是多表查询?如何在MySQL中进行多表查询? 多表查询就是在一个查询中涉及到多个表,通过特定的关联方式连接多个表,并根据条件从中查询出所需要的数据. 多表查询是关系型数据库中最为基础的应用之一. ...

  3. 详解同为4800W像素的相机传感器,三星GM1和索尼IMX586区别在哪里?

    数字影像之父Bryce Bayer基于RGB模式,通过在感光元件前加上一个滤镜的方法终于实现了彩色照片.Bayer滤镜跨出了照片从黑白到彩色的一大步,但是对于挑剔的人眼来说,每个像素只有一个颜色是远远 ...

  4. 《架构整洁之道》学习笔记 Part 2 编程范式

    计算机编程发展至今,一共只有三个编程范式: 结构化编程 面向对象编程 函数式编程 编程范式和软件架构的关系 结构化编程是各个模块的算法实现基础 多态(面向对象编程)是跨越架构边界的手段 函数式编程是规 ...

  5. Linux 如何删除乱码的文件

    事情是这样,服务器很多人在使用,以前的离职同事留了一大堆不知道是什么东西. 那些文件看不了,又删不掉,非常碍眼. 我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的). 用 SFTP 工 ...

  6. Mysql报错:Specified key was too long; max key length is 767 bytes

    1.show variables like 'innodb_large_prefix'; show variables like 'innodb_file_format'; 修改为如下配置: set ...

  7. 三万字盘点Spring 9大核心基础功能

    大家好,我是三友~~ 今天来跟大家聊一聊Spring的9大核心基础功能. 其实最近有小伙伴私信问我怎么不写文章了,催更来了 其实我不是不写,而是一直在写这篇文章,只不过令我没想到的是,从前期的选题.准 ...

  8. Win11 开启 telnet

    'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件. 首先我们打开底部"开始菜单",如图所示.接着打开其中的"设置". 然后进入左边的&quo ...

  9. 使用 Vue 实现页面访问拦截

    目录 1 Vue 路由与导航守卫 1.1 Vue 路由简介 1.2 导航守卫概述 2 实现访问拦截的核心概念 2.1 路由守卫介绍 2.1.1 前置守卫(beforeEach) 2.1.2 后置钩子( ...

  10. 一键部署 Umami 统计个人网站访问数据

    谈到网站统计,大家第一时间想到的肯定是 Google Analytics.然而,我们都知道 Google Analytics 会收集所有用户的信息,对数据没有任何控制和隐私保护. Google Ana ...