python3 paramiko模块,用来进行远程操作linux服务器,利用的就是ssh

#利用用户名,密码,进行连接
import paramiko #创建一个SSH对象
ssh=paramiko.SSHClient() #允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接一个主机
ssh.connect(hostname='192.168.1.2',port=22,username='root',password='root123') #执行命令
stdin,stdout,stderr=ssh.exec_command('df -h') #获取执行结果
result_right=stdout.read().decode("utf-8")
result_error=stderr.read().decode("utf-8") print("result_right:%s"%result_right)
print("result_error:%s"%result_error) #关闭连接
ssh.close()
#利用私钥,进行连接

import paramiko

#生成ssh实例
ssh=paramiko.SSHClient() #配置私钥,自己有个身份
pk=paramiko.RSAKey.from_private_key_file(filename="ip2_rsa_key") #允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接信息,pkey就是目标服务器的私钥,要求对方服务器有自己对应的公钥
ssh.connect(hostname="192.168.1.8",port=22,username='root',pkey=pk) #执行命令
stdin,stdout,stderr=ssh.exec_command("df -h;ifconfig")
res=stdout.read() print(res.decode("utf-8")) ssh.close()

利用paramiko,实现scp的文件上传下载

import paramiko

#创建scp的连接通道
scp_tran=paramiko.Transport(("192.168.1.2",22))
scp_tran.connect(username='root',password='root123') #把连接通道给SFTPClient,生成一个scp实例
scp=paramiko.SFTPClient.from_transport(scp_tran) #上传文件
scp.put("E:\\python学习51cto\\wy_home_temp\\temp.txt","/root/temp.txt") #下载文件
scp.get("/root/temp.txt","E:\\python学习51cto\\temp.txt") #关闭连接
scp_tran.close()
#这是利用私钥进行的连接

import paramiko

#创建sftp的transport连接
scp_tran=paramiko.Transport(("192.168.1.8",22)) #定义python程序的一个私钥,与目标服务器的公钥匹配的,其实是把当前python的私钥公钥对中的公钥扔给服务器以后就匹配了
pk=paramiko.RSAKey.from_private_key_file("ip2_rsa_key") #开启transport连接,建链
scp_tran.connect(username="root",pkey=pk) #弄一个sftp客户端出来,进行具体的文件传输
scp=paramiko.SFTPClient.from_transport(scp_tran) #上传文件
scp.put(localpath="ssh_pkey.py",remotepath="/root/ssh_pkey.py") #下载文件
scp.get(remotepath="/root/ssh_pkey.py",localpath="E:\\python学习51cto\\ttttttt") #关闭连接
scp_tran.close()

python3.x Day6 paramiko的更多相关文章

  1. python3下的paramiko 安装

    环境为centos6.7 python3为源码编译安装的,系统自带的python2 可以直接使用paramiko模块,但是在py3的环境下加载出错,所有需要安装新的paramiko 模块: 上了par ...

  2. CentOS7 Python3上安装paramiko

    1. CentOS 7下安装Python3.5 CentOS7默认安装了python2.7.5,要用 Python3需要自己手动安装.注意不要删除python2. 1.1 下载python3源码包 w ...

  3. Python3下的paramiko模块

    paramiko模块是基于Python实现的SSH远程安全连接,用于SSH远程执行命令.文件传输等功能. 默认Python没有,需要手动安装:pip install paramiko SSH密码认证远 ...

  4. python3.x Day6 socketserver

    socketserver是啥? 简化了编写网络服务器,就是对于socket的再一次封装sockerserver包含4个类可以使用:A=socketserver.TCPServer() #用于TCP/I ...

  5. windos环境python3.5安装 paramiko

    一.执行命令pip install paramiko,情况如下: C:\Users\ZFH>pip install paramikoCollecting paramiko  Downloadin ...

  6. python3.x Day6 IO多路复用

    IO多路复用import asyncio 这个是异步IO模块 这个还不知道怎么用 select poll epoll 都是IO多路复用 windows 仅支持select linux2.6以后 支持e ...

  7. python3.x Day6 协程

    协程:#定义来自牛人alex博客协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈 ...

  8. python3.x Day6 多进程

    多进程:1.每个子进程申请到的资源都是独立的,不与其他进程共享.2.语法上和线程基本上差不多,使用multiprocessing.Process(target=xxxx,args=(xxx,xxx,x ...

  9. python3.x Day6 多线程

    线程???进程????区别???何时使用??? 进程:是程序以一个整体的形式暴露给操作系统管理,里边包含了对各种资源的调用,内存的使用,对各种资源的管理的集合,这就叫进程 线程:是操作系统最小的调度单 ...

随机推荐

  1. 图论算法->最短路

    求最短路算法,有Floyd,dijkstra,Bellmanford,spfa等诸多高级算法.优化方法也是层出不穷. 我们不妨分析一下各算法的使用特点(可能不准确 1.Floyd算法 复杂度O(n³) ...

  2. Unexpected EOF 远程主机强迫关闭了一个现有的连接 如何处理

    由于数据量的增大,调用接口的次数会增加. 当连续向目标网站发送多次request后,目标网站可能会认为是,恶意攻击. 于是会抛出requests异常. 测试代码: for i in range(200 ...

  3. 实现自己的ArrayList

    最近在学习数据结构和算法,书上有个ArrayList的简单实现,写的很不错. package cn.sp.test4; import java.util.Iterator; import java.u ...

  4. 浅谈Windows API编程

    WinSDK是编程中的传统难点,个人写的WinAPI程序也不少了,其实之所以难就难在每个调用的API都包含着Windows这个操作系统的潜规则或者是windows内部的运行机制…… WinSDK是编程 ...

  5. Windows下安装Ubuntu16.04双系统

    ROS需要在Ubuntu系统上开发,虚拟机跑Ubuntu开发ROS容易出现各种各样的问题,所以需要安装Ubuntu16.04双系统.笔者也是一步步按着网上的帖子来,由于网上的教程都不是最新的而且有的也 ...

  6. 【洛谷5398】[Ynoi2018]GOSICK(二次离线莫队)

    题目: 洛谷 5398 当我刚学莫队的时候,他们告诉我莫队能解决几乎所有区间问题: 现在,当我发现一个区间问题似乎难以用我所了解的莫队解决的时候,他们就把这题的正解叫做 XXX 莫队.--题记 (以上 ...

  7. Race to 1 Again LightOJ - 1038

    Race to 1 Again LightOJ - 1038 题意:有一个数字D,每次把D变为它的一个因数(变到所有因数的概率相等,可能是本身),变到1后停止.求对于某个初始的D变到1的期望步数. x ...

  8. HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2 历史演变和设计思路(详)*

    HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...

  9. [转]无废话SharePoint入门教程一[SharePoint概述]

    本文转自:http://www.cnblogs.com/iamlilinfeng/p/3026332.html 一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到ShareP ...

  10. Oracle中默认创建的表

    安装Oracle数据库后,会自动创建几个表.分别是emp.dept.bonus(也有可能不一样),这些表都在scott账户中.