python paramiko模块:远程连接服务器
1. SFTP基于 用户名密码 登录服务器,实现上传下载:
import paramiko
transport = paramiko.Transport(('hostname', )) # 生成trasport,配置主机名,端口
transport.connect(username='root',password='****') # 登录名、密码
sftp = paramiko.SFTPClient.from_transport(transport)
# 将id_rsa 上传至服务器并重命名 /tmp/test.py
sftp.put('id_rsa', '/tmp/ras.py')
# ras.py 下载到本地 ras.py
sftp.get('/tmp/ras.py', 'ras.py')
# 关闭连接
transport.close()
2. SFTP基于 密钥 登录服务器
import paramiko
private_key = paramiko.RSAKey.from_private_key_file('id_rsa') # id_rsa是本地的私钥,需要在服务器上配制公钥
transport = paramiko.Transport(('hostname', 22)) # 配置主机名和端口
transport.connect(username='root', pkey=private_key) # 连接root用户,使用密钥
sftp = paramiko.SFTPClient.from_transport(transport)
# 将local.py 上传至服务器 /tmp/test.py
sftp.put('/tmp/local.py', '/tmp/test.py')
# test.py 下载到本地 local.py
sftp.get('test.py', 'local.py')
3. SSH基于 密钥 登录服务器
import paramiko
private_key = paramiko.RSAKey.from_private_key_file('id_rsa')
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不存在在know_hosts文件里的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='hostname', port=22, username='root',pkey=private_key)
# 执行命令
stdin,stdout,stderr = ssh.exec_command('ls')
result = stdout.read()
print(result)
# 关闭连接
ssh.close()
4. SSH 封装 Transport 基于 密钥 登录服务器
import paramiko
private_key = paramiko.RSAKey.from_private_key_file('id_rsa') # id_rsa是本地私钥,需要服务器配置公钥
transport = paramiko.Transport(('hostname', 22))
transport.connect(username='root',pkey=private_key)
# 创建SSH对象
ssh = paramiko.SSHClient()
ssh._transport = transport
# 执行命令
stdin,stdout,stderr = ssh.exec_command('ls')
result = stdout.read()
print(result)
# 关闭连接
transport.close()
5. SSH 基于 用户名密码 登录服务器
# SSHClient 基于用户名和密码连接服务器
import paramiko # 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='hostname', port=22, username='root', password='****') # 执行命令
stdin, stdout, stderr = ssh.exec_command('ls')
# 获取命令结果
result1 = stdout.read()
result2 = stderr.read()
print(result1,result2,sep='\n')
# 关闭连接
ssh.close() print(f'{"SSH封装Transport":=^50}') # SSHClient 封装 Transport,基于用户名和密码连接服务器 import paramiko transport = paramiko.Transport(('hostname', 22))
transport.connect(username='root', password='****') ssh = paramiko.SSHClient()
ssh._transport = transport stdin, stdout, stderr = ssh.exec_command('ls')
print (stdout.read()) transport.close()
python paramiko模块:远程连接服务器的更多相关文章
- paramiko模块(远程操作服务器)
paramiko模块(远程操作服务器) django+paramkio实现远程某些服务器执行命令+上传文件 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作. pip3 install par ...
- 利用Paramiko模块远程连接Linux
使用Paramiko模块模拟SSH远程连接到服务器,并执行命令.(支持Tab键补全) 1.安装相关模块: 1)安装 Crypto 模块: 下载源码包解压 安装: sudo python setup.p ...
- python Paramiko 模块远程管理主机
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import paramiko import os, stat import sys import ope ...
- Python Paramiko模块
代码来自:http://www.cnblogs.com/wupeiqi/articles/4356675.html 今天学到了一个运维方面的利器:python的paramiko模块. paramiko ...
- Python Paramiko模块与MySQL数据库操作
Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...
- python paramiko模块学习分享
python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...
- Windows下pycharm远程连接服务器调试-tensorflow无法加载问题
最近打算在win系统下使用pycharm开发程序,并远程连接服务器调试程序,其中在import tensorflow时报错如图所示(在远程服务器中执行程序正常): 直观错误为: ImportError ...
- Atom远程连接服务器报错服务器版本和客户端版本不一致
Atom远程连接服务器 报错信息: Server version is different than client version Original error message: Version mi ...
- PUTTY无法远程连接服务器故障解决[转]
对于一个刚刚了解putty工具的新手来说,在putty工具使用中有时出现了问题而无法解决.今天就来介绍怎么解决putty无法远程连接服务器的故障. 用putty远程连接服务器时,提示错误 server ...
- PyCharm 如何远程连接服务器编写程序
写在前面 我之前一直通过mstsc远程服务器桌面修改代码,或者本地修改后上传到远程服务器等,各种不爽,现在改用xshell,但有时候还是感觉不方便.于是乎,自己动手配置PyCharm远程连接服务器,这 ...
随机推荐
- Select 选择器
Select 选择器 当选项过多时,使用下拉菜单展示并选择内容. 基础用法 适用广泛的基础单选 v-model的值为当前被选中的el-option的 value 属性值 <template> ...
- one vs all -- 将01分类器用于多类分类问题
大多数分类器都是01分类器,如logistic regression.当我们要将数据分为多类的时候, 可以用一种叫one-vs-all的方法将01分类器用于多类分类(mult-class classi ...
- Jmeter(十)负载生成器
使用LoadRunner时, 产生负载会用到利器Load Generator, 来远程控制负载机进行测试. Jmeter也不例外, 由此可见, 工具与工具之间, 达到的目的必是相同, 只是手段不一样罢 ...
- 创建的项目如果没有src/main/resources文件夹,如何解决?
这是刚创建的一个maven项目,由此可以看见,项目并没有存放配置文件的src/main/resources文件夹? 解决方案: (1)选中项目,右键单击,如图所示选择:Build Path --> ...
- 递归选中easyui树
$(function(){ // var data1 = [ // { // "id": 3, // "text": "3组织", // & ...
- Python学习之==>数组(一)
1.定义数组 city = [] # 定义一个空数组 name = ['Jack','Panda','Bob','Franck'] # 根据下标找元素,最前面一个元素的下标是0,最后一个元素下标是-1 ...
- Message Unable to compile class for JSP
使用 UniEAPWorkshop_5.0运行4.6 的代码,流程新建时出现的错误 JDK 使用C:\Program Files (x86)\Java\jdk1.7.0_80 tomcat使用 apa ...
- Elasticsearch 安装 Head 插件
引子:在上一篇文章Elasticsearch入门(一):CentOS 7.6 安装ES 7.0.0中,我们讲了如何在CentOS 7.6环境下安装 Elasticsearch 7.0.下面,我将讲一讲 ...
- 二叉平衡树AVL的插入与删除(java实现)
二叉平衡树 全图基础解释参考链接:http://btechsmartclass.com/data_structures/avl-trees.html 二叉平衡树:https://www.cnblogs ...
- 找工作Java面试 题搜集
面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的 ...