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

  1. #利用用户名,密码,进行连接
  2. import paramiko
  3.  
  4. #创建一个SSH对象
  5. ssh=paramiko.SSHClient()
  6.  
  7. #允许连接不在know_hosts文件中的主机
  8. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  9.  
  10. #连接一个主机
  11. ssh.connect(hostname='192.168.1.2',port=22,username='root',password='root123')
  12.  
  13. #执行命令
  14. stdin,stdout,stderr=ssh.exec_command('df -h')
  15.  
  16. #获取执行结果
  17. result_right=stdout.read().decode("utf-8")
  18. result_error=stderr.read().decode("utf-8")
  19.  
  20. print("result_right:%s"%result_right)
  21. print("result_error:%s"%result_error)
  22.  
  23. #关闭连接
  24. ssh.close()
  1. #利用私钥,进行连接
  2.  
  3. import paramiko
  4.  
  5. #生成ssh实例
  6. ssh=paramiko.SSHClient()
  7.  
  8. #配置私钥,自己有个身份
  9. pk=paramiko.RSAKey.from_private_key_file(filename="ip2_rsa_key")
  10.  
  11. #允许连接不在know_hosts文件中的主机
  12. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  13.  
  14. #连接信息,pkey就是目标服务器的私钥,要求对方服务器有自己对应的公钥
  15. ssh.connect(hostname="192.168.1.8",port=22,username='root',pkey=pk)
  16.  
  17. #执行命令
  18. stdin,stdout,stderr=ssh.exec_command("df -h;ifconfig")
  19. res=stdout.read()
  20.  
  21. print(res.decode("utf-8"))
  22.  
  23. ssh.close()

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

  1. import paramiko
  2.  
  3. #创建scp的连接通道
  4. scp_tran=paramiko.Transport(("192.168.1.2",22))
  5. scp_tran.connect(username='root',password='root123')
  6.  
  7. #把连接通道给SFTPClient,生成一个scp实例
  8. scp=paramiko.SFTPClient.from_transport(scp_tran)
  9.  
  10. #上传文件
  11. scp.put("E:\\python学习51cto\\wy_home_temp\\temp.txt","/root/temp.txt")
  12.  
  13. #下载文件
  14. scp.get("/root/temp.txt","E:\\python学习51cto\\temp.txt")
  15.  
  16. #关闭连接
  17. scp_tran.close()
  1. #这是利用私钥进行的连接
  2.  
  3. import paramiko
  4.  
  5. #创建sftp的transport连接
  6. scp_tran=paramiko.Transport(("192.168.1.8",22))
  7.  
  8. #定义python程序的一个私钥,与目标服务器的公钥匹配的,其实是把当前python的私钥公钥对中的公钥扔给服务器以后就匹配了
  9. pk=paramiko.RSAKey.from_private_key_file("ip2_rsa_key")
  10.  
  11. #开启transport连接,建链
  12. scp_tran.connect(username="root",pkey=pk)
  13.  
  14. #弄一个sftp客户端出来,进行具体的文件传输
  15. scp=paramiko.SFTPClient.from_transport(scp_tran)
  16.  
  17. #上传文件
  18. scp.put(localpath="ssh_pkey.py",remotepath="/root/ssh_pkey.py")
  19.  
  20. #下载文件
  21. scp.get(remotepath="/root/ssh_pkey.py",localpath="E:\\python学习51cto\\ttttttt")
  22.  
  23. #关闭连接
  24. 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. bzoj 1230: [Usaco2008 Nov]lites 开关灯【线段树】

    在线段树上记录长度.区间01翻转标记.当前1个数.传递tag的时候用长度-1个数即可 #include<iostream> #include<cstdio> using nam ...

  2. codeforces 880E. Maximum Subsequence(折半搜索+双指针)

    E. Maximum Subsequence time limit per test 1 second memory limit per test 256 megabytes input standa ...

  3. (5)css盒子模型(基础上)

    CSS 盒子模型概述 ***什么是CSS的盒子模型呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content).边框(border).内边距(padding).外边距(margin ...

  4. SQL Server 语法注意

    1.order by select a1,a1 from  temp order by a1 此语句在高版本中执行提示a1列名不明确,在低版本中执行成功!

  5. SpringBoot项目docker化

    前言 有很多种方案构建Docker镜像,包括Dockerfile构建.maven插件构建,这里我使用了最简单的Dockerfile构建的. 一.安装Docker 我的虚拟机系统是CentOS7,需要是 ...

  6. Stamps ans Envelope Sive UVA - 242

    ( ||{集合x}表示x中元素1||x中元素2||...||x的最后一个元素||(a,b)表示a||b) ans[i][j][k]表示考虑前i种邮票时取j个邮票能否得到面值kans[i][j][k]= ...

  7. 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...

  8. 常用linux命令大全 转载自:https://www.cnblogs.com/laov/p/3541414.html(大牛笔记)

    Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安 ...

  9. 【C++】模板简述(六):总结

    1.模板技术是泛型编程的基础.([C++]模板简述(一):模板的引入) 2.模板被编译两次,因而给分离编译造成一些麻烦.([C++]模板简述(二):函数模板.[C++]模板简述(四):模板为什么不支持 ...

  10. Sass的的使用三

    [Sass]普通变量与默认变量普通变量定义之后可以在全局范围内使用. 默认变量sass 的默认变量仅需要在值后面加上 !default 即可.sass 的默认变量一般是用来设置默认值,然后根据需求来覆 ...