python paramiko与linux的连接
两种使用paramiko连接到linux服务器的代码
方式一:
1 ssh = paramiko.SSHClient()
2 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
3 ssh.connect("某IP地址",22,"用户名", "口令")
方式二:
1 t = paramiko.Transport((“主机”,”端口”))
2 t.connect(username = “用户名”, password = “口令”)
SFTPClient()也是使用transport来实现的,因此如果有需求需要执行命令和上传文件糅合在一起的话,那么就需要使用transport的方式来实现。
如果连接远程主机需要提供密钥,上面第二行代码可改成:
t.connect(username = “用户名”, password = “口令”, hostkey=”密钥”)
3.1 windows对linux运行任意命令,并将结果输出
如果linux服务器开放了22端口,在windows端,我们可以使用paramiko远程连接到该服务器,并执行任意命令,然后通过 print或其它方式得到该结果,
代码如下
#coding:Utf8
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用户名", "口令")
stdin, stdout, stderr = ssh.exec_command("你的命令")
print stdout.readlines()
ssh.close()

1 #coding:Utf8
2
3 import paramiko
4
5 ssh = paramiko.SSHClient()
6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
7 ssh.connect("某IP地址",22,"用户名", "口令")
8 stdin, stdout, stderr = ssh.exec_command("你的命令")
9 print stdout.readlines()
10 ssh.close()

其中的”你的命令”可以任意linux支持的命令
3.2 从widnows端下载linux服务器上的文件
coding:utf8
import paramiko
t = paramiko.Transport((“主机”,”端口”))
t.connect(username = “用户名”, password = “口令”)
sftp = paramiko.SFTPClient.from_transport(t)
remotepath=’/var/log/system.log’
localpath=’/tmp/system.log’
sftp.get(remotepath, localpath)
t.close()

1 coding:utf8
2
3 import paramiko
4
5 t = paramiko.Transport((“主机”,”端口”))
6 t.connect(username = “用户名”, password = “口令”)
7 sftp = paramiko.SFTPClient.from_transport(t)
8 remotepath=’/var/log/system.log’
9 localpath=’/tmp/system.log’
10 sftp.get(remotepath, localpath)
11 t.close()

3.3 从widnows端上传文件到linux服务器
import paramiko
t = paramiko.Transport((“主机”,”端口”))
t.connect(username = “用户名”, password = “口令”)
sftp = paramiko.SFTPClient.from_transport(t)
remotepath=’/var/log/system.log’
localpath=’/tmp/system.log’
sftp.put(localpath,remotepath)
t.close()

1 import paramiko
2
3 t = paramiko.Transport((“主机”,”端口”))
4 t.connect(username = “用户名”, password = “口令”)
5 sftp = paramiko.SFTPClient.from_transport(t)
6 remotepath=’/var/log/system.log’
7 localpath=’/tmp/system.log’
8 sftp.put(localpath,remotepath)
9 t.close()

3.4 在Linux上安装paramiko模块
安装scrapy这个应用中遇到的问题
c/_cffi_backend.c:2:20: fatal error: Python.h: No such file or directory
sudo apt-get install python-dev
c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory
1 sudo apt-get install libffi-dev
* make sure the development packages of libxml2 and libxslt are installed *
1 sudo apt-get install libxslt1-dev
1.下载安装wget http://peak.telecommunity.com/dist/ez_setup.py
2.python ez_setup.py
3.easy_install paramiko
python paramiko与linux的连接的更多相关文章
- python paramiko模块:远程连接服务器
1. SFTP基于 用户名密码 登录服务器,实现上传下载: import paramiko transport = paramiko.Transport(()) # 生成trasport,配置主机名 ...
- Python (paramiko) 连接Linux服务器
目录 参考资料 Paramiko 安装 连接Linux 文件上传/下载 文件封装 其他 参考资料 https://www.liujiangblog.com/blog/15/ https://blog. ...
- Python Paramiko模块与MySQL数据库操作
Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...
- python批量修改linux主机密码
+++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...
- python paramiko模块学习分享
python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...
- python+paramiko库+svn写的自动化部署脚本
第一篇博文 直接开门见山的说了. 这是件什么事?:每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞. 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一 ...
- 【Python】如何基于Python写一个TCP反向连接后门
首发安全客 如何基于Python写一个TCP反向连接后门 https://www.anquanke.com/post/id/92401 0x0 介绍 在Linux系统做未授权测试,我们须准备一个安全的 ...
- 如何在Python中使用Linux epoll
如何在Python中使用Linux epoll 内容 介绍 阻塞套接字编程示例 异步套接字和Linux epoll的好处 epoll的异步套接字编程示例 性能考量 源代码 介绍 从2.6版开始,Pyt ...
- python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused
python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...
随机推荐
- RabbitMQ实例C#
驱动组件.NET版本 官网推荐驱动:RabbitMQ.Client https://www.rabbitmq.com/devtools.html#dotnet-dev Connection和Chann ...
- sql server生成随机id
SQL Server中生成随机ID的函数是newId(),但是这样生成出来的随机ID是36位带[-]符号的. select newId(); -- 746516E0-95D6-4BAF-8826-6C ...
- 适配器模式(Adapter Pattern)--设计模式
在生活中,想用苹果充电线给安卓的手机充电时,因为两者的接口不一样,会导致充电口无法进行匹配, 这时候,就需要适配器,将安卓的充电口转化为苹果的接口,这样就可以充电啦.已有的类与新的接口不兼容问题是很普 ...
- Java学习:方法的引用
方法引用(Method references) lambda表达式允许我们定义一个匿名方法,并允许我们以函数式接口的方式使用它.我们也希望能够在已有的方法上实现同样的特性. 方法引用和lambda表达 ...
- 【02】Python:数据类型和运算符
写在前面的话 任何编程语言一开始都是从概念出发的,但各种编程语言之间的概念可能又会有差异,所以,老生常谈,我们还是需要从新过一遍 Python 的概念,当然,如果你已经是老司机了,完全可以一晃而过,不 ...
- 分享windows 10 下部署 elasticsearch 和 logstash
最近和es杠上了.以前只听说过es一直没有机会体验一下. 最近有点时间,就着手体验一把.因为是第一次接触es,没有任何基础.入门的第一件是就是用 百度了, [不过建议改名为白度,基本上查不到想要的,一 ...
- 【翻译】Tusdotnet中文文档(1)配置和用法
TUSDOTNET Tusdotnet是tus协议的一个dotnet实现.tus协议是用来规范文件上传的整个过程,tus基于http协议,规定了一些上传过程中的头部(headers)和对上传过程的描述 ...
- PIE SDK剔除栅格块算法
1.算法功能简介 剔除栅格块即剔除栅格小斑块功能.一幅影像图层某一区域存在碎小斑块,需要对其按照一定的条件进行剔除. PIE支持剔除栅格快算法功能的执行,下面对该算法功能进行介绍. 2.算法功能实现说 ...
- 【团队项目1】 团队展示&选题
一.团队展示 1. 队名:这次稳了 2. 队员: 莫少政 3117004667 (队长) 黄思扬 3117004657 余泽端 3117004679 江海灵 3117004658 温治乾 311700 ...
- JS引擎是如何工作的?从调用堆栈到Promise
摘要: 理解 JS 引擎运行原理. 作者:前端小智 原文:JS引擎:它们是如何工作的?从调用堆栈到Promise,需要知道的所有内容 Fundebug经授权转载,版权归原作者所有. 为了保证可读性,本 ...