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远程连接服务器,这 ...
随机推荐
- 阶段3 2.Spring_01.Spring框架简介_02.今日课程内容介绍
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
- 十五:jinja2过滤器之实现自定义过滤器
过滤器的本质就是函数,如果在模板中调用这个过滤器,那么就会将这个变量的值作为第一个参数传给过滤器函数,然后将函数的返回值作为滤器的返回值 1.在python文件中写好过滤的函数和逻辑2.将将函数注册到 ...
- Eclipse_Package Presentation
Package Presentation ->Flat ->Hierarchical更常用
- MySQL 数据库架构
1 架构 master-slave性能,qps,tps,cpu,disk,memory,network,raid卡,fashion卡, 并发量:同一时刻需要db处理 连接量: 大表:1000w行或者表 ...
- .on()之selector——jQuery
API:[https://www.jquery123.com/on/]
- PHP操作redis部分命令
//连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth('12345 ...
- H3C版本升级
H3C S5500和S3100都可以通过TFTP方式进行升级,1.设置交换机的vlan1的ip地址,如10.10.10.2/242.设置电脑和交换机连接的ip地址,如10.10.10.1/243.在交 ...
- 【Python开发】【神经网络与深度学习】网络爬虫之图片自动下载器
python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show ...
- 【VS开发】解决位图缩放失真
当用以下函数加载一张位图时,当窗口发生重绘更改大小时,位图将失真: CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP2); BITMAP bmp; bit ...
- echats--》饼图 如何在环形中央设置 文字?
遇到一个需求,在环形图中央空白部分显示总数量. let data = { totalNum: "", data: [ { val ...