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 paramiko

transport = 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 paramiko

private_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 paramiko

private_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 StringIO private_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

其它——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. Python正则表达式完全指南

    本篇文章将深入探讨python的一项强大工具:正则表达式.正则表达式是一个强大的文本处理工具,可以用来匹配,搜索,替换和解析文本.我们将逐步展示如何在Python中使用正则表达式,包括其基本语法,常见 ...

  2. 关于 axios 是什么?以及怎么用?

    〇.前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中.简单的讲就是可以发送 Get.Post 请求. 诸如 Vue.React.Angular 等前 ...

  3. 体细胞突变检测分析流程-系列1( WES&Panel)

    Sentieon●体细胞变异检测-系列1   Sentieon 致力于解决生物信息数据分析中的速度与准确度瓶颈,通过算法的深度优化和企业级的软件工程,大幅度提升NGS数据处理的效率.准确度和可靠性. ...

  4. elasticSearch初步学习反思

    转自自己的qq空间 2022年11月29日 每次找到新技术就会发癫 把业务整理完了 看着elasticSearch开始发癫 TM的把所有的一切都塞给它 反正全标记索引要啥拿啥 狠狠地获取就完了 思来想 ...

  5. 河南省第十四届icpc大学生程序设计竞赛-clk

    这次比赛赛程比较长,520出发,521,回学校,出发的那一天有点热,感觉不是很好,而且那一天感觉有点生病,应该只是普通感冒,热身赛的时候被oier吊打,省实验真厉害,晚上回酒店后,我喊队友,补了前年的 ...

  6. linux 查看进程使用的内存大小

    你可以使用 ps 命令结合 grep 命令来查看进程使用的内存大小.以下是示例代码: ps aux | grep <进程名> 这个命令会列出所有匹配 <进程名> 的进程,并显示 ...

  7. async、await其实是generator和promise的语法糖

    async 关键字用于声明异步函数,await 用于在async函数中将异步代码变为同步,阻塞代码的执行 对于promise和generator不熟悉的朋友可以移步看看这些文章 Promise的理解与 ...

  8. 详细讲解原生js拖拽

    场景描述 今天遇见一个问题,那就是产品希望在弹出来的窗口. 可以移动这个弹窗的位置 增加用户体验,我们直接使用的element-ui中的 Dialog 对话框 我们现在需要拖拽标题,移动元素位置 元素 ...

  9. CF1787E The Harmonization of XOR 题解

    CF1787E The Harmonization of XOR 题目大意 给定 \(n\) 个数 \([1, 2, 3, \cdots, n]\) 和两个正整数 \(k\) 和 \(x\). 将这些 ...

  10. python机器学习经典算法代码示例及思维导图(数学建模必备)

    最近几天学习了机器学习经典算法,通过此次学习入门了机器学习,并将经典算法的代码实现并记录下来,方便后续查找与使用. 这次记录主要分为两部分:第一部分是机器学习思维导图,以框架的形式描述机器学习开发流程 ...