paramiko

paramiko

百般思念 提交于 2019-12-28 17:22:20
Paramiko模块批量管理 作用:通过调用ssh协议进行远程机器的批量命令执行,文件发送。 安装paramiko步骤: 1 首先安装pycrypto模块 pip install pycrypto pip install paramiko 或者下载源码包安装 可能遇到的错误: error: command "x86_64-linux-gnu-gcc" faild with exit status 1 这个是库文件不全 apt-get install libssl-dev 以下 包要安装: python-devel openssl-devel openssl gcc gcc-c++ 使用用户名和密码连接远程机器 ----------------------------- 一 次的ssh连接 使用用户名密码 #!/usr/bin/env python import paramiko import sys,os host = “192.168.137.110”或者host = sys.argv[1] 代表执行这个文件时,后面跟的第一个参数 user = "root" password = "centos" cmd = sys.argv[2] 代表执行这个文件时,后面跟的第二个参数 s = paramiko.SSHClient() 绑定实例 s.load_system_host_keys(

python windows上传本地文件到linux服务器【完整版】

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-28 11:55:24
python 版本: python3.7 操作系统: Windows7 64bit 设备信息: 夜神模拟器版本信息: V_6.2.3.7 在研究“基于Airtest搭建自动化测试框架,并实现几个主要功能的自动化测试”时,关于推送测试报告这块,我是用IIS将报告的目录部署为一个web站点,就可以随时通过url链接查看每一次运行的报告内容,后面接到一个新任务需要将测试报告放到linux服务器并访问。 经研究linux下只能安装apache的web服务器,其他你就别想了,iis只能装在微软机器上。在此和大家交流学习下我实现的完整过程: Linux 系统的映像文件(.iso 文件):CentOS-7-x86_64-DVD-1804.iso 注: 桥接模式:相当于虚拟机的网卡和宿主机的物理网卡均连接到虚拟机软件所提供的 VMnet0 虚拟交换机上,因此虚拟机和宿主机是平等的,相当于一个网络中的两台计算机。这种设置既可以保证虚拟机和宿主机通信,也可以和局域网内的其他主机通信,还可以连接 Internet,是限制最少的连接方式,推荐新手使用。 服务器操作系统: Linux7.5 64bit linux安装httpd,做文件服务器 第一步,安装 yum install httpd 如果提示:已加载插件:fastestmirror, langpacks 您需要 root 权限执行此命令。

Recursive directory download with Paramiko?

社会主义新天地 提交于 2019-12-28 03:00:09
问题 I want to download a directory with unknown contents recursively via SSH and have been trying Paramiko. I have seen several examples how to upload directories but none that covers recursive download. I can list all items in a directory but haven't been able to find a way of knowing if the item is a file (to download) or a directory (to call recursively). transport = paramiko.Transport((MY_IP, 22)) transport.connect(username=MY_NAME, password=MY_PASS) sftp = paramiko.SFTPClient.from_transport

cmdb简介

让人想犯罪 __ 提交于 2019-12-27 08:30:15
目录 : 1.为啥要做cmdb👀 2.开发cmdb的思路和大概做法👀 3.cmdb的四套方案👀 一、为啥要做CMDB a.项目发开和上线场景🎆 流程: 产品经理调研需求 ===》定一个时间开发 ===》测试 ===》产品项目上线(运维) 传统做法: 运维解压文件(以邮件的形式发给运维),将代码部署到相对应的服务器目录下面。如果是由100等的话就是写shell脚本,后面跟着一串服务器的列表,然后把项目代码部署分发到每个服务器上,然后再用一个命令进行解压 存在问题: --效率不高 --不能实现覆盖Bug的代码(代码需要完bug之后就要重新走一套流程,效率极低) 解决方法: 代码上线系统: 前端展示给用户页面,用户可选择要上传的代码,页面还展示了公司所有的服务器和对应的ip地址可以进行勾选,然后点击上传即可。 这样就不需要交给运维人员了,运维只要告诉你有什么权限,然后分配了哪几台机器,再去选择需要发布的服务器,上传交给后端(使用django去改写shell脚本的那一套) 如果需要修改代码的话,也是直接发布提交,然后后台会自动的进行代码之间的比较 -------------------必要的条件:服务器的IP地址,硬盘空间,CPU的使用率,内存等 b.监控服务器🎪 (🔯监控服务器的报警信息:公司的服务器运行好多程序,会有好多的图表,就是监控这个服务|应用|网址的状态码等的一些变化信息♍)

python之旅:并发编程

元气小坏坏 提交于 2019-12-26 12:05:01
一 背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统, 点击进入 PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽象,现代计算机将不复存在。 必备的理论基础: #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序 #二 多道技术: 1.产生背景:针对单核,实现并发 ps: 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定。 2.空间上的复用:如内存中同时有多道程序 3.时间上的复用:复用一个cpu的时间片 强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样 才能保证下次切换回来时,能基于上次切走的位置继续运行 本文将将着重介绍进程以及它的亲戚->线程 二

h3c设备使用paramiko模块连接(SSHException:Channel closed)

橙三吉。 提交于 2019-12-25 17:40:54
使用产品为:VSR1000,版本号为:Version 7.1.059, ESS 0323L03。 问题: 使用python语言的paramiko模块,通过ssh协议登录连接VSR设备时报错,提示: paramiko.ssh_excetion.SSHException:Channel closed。详细信息见截图。 paramiko.ssh_exception.SSHException: Channel closed. H3C设备登录记录 #!/user/bin/env python import sys import paramiko import time def Testsshcon(ip,port,username,password): try: sshcon=paramiko.SSHClient() sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy()) sshcon.connect(ip,port,username,password,compress=True) #print "ok" #print 'ipaddress %s,port %d,uername %s,password %s'%(ip,port,username,password) print "ssh secuees" cmds=['dis

h3c设备使用paramiko模块连接(SSHException:Channel closed)

微笑、不失礼 提交于 2019-12-25 17:14:15
使用产品为:VSR1000,版本号为:Version 7.1.059, ESS 0323L03。 问题: 使用python语言的paramiko模块,通过ssh协议登录连接VSR设备时报错,提示: paramiko.ssh_excetion.SSHException:Channel closed。详细信息见截图。 paramiko.ssh_exception.SSHException: Channel closed. ===== invoke_shell() 正确的解决方法如下: H3C设备登录记录 #!/user/bin/env python import sys import paramiko import time def Testsshcon(ip,port,username,password): try: sshcon=paramiko.SSHClient() sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy()) sshcon.connect(ip,port,username,password,compress=True) #print "ok" #print 'ipaddress %s,port %d,uername %s,password %s'%(ip,port,username,password)

Import error No module named constant_time while accessing server

…衆ロ難τιáo~ 提交于 2019-12-25 08:39:47
问题 This is the follow up of Import Modules in Nifi ExecuteScript I am new to python as well as nifi. I am trying to execute my python script in ExecuteScript processor. I want to access a server. so i used paramiko client. But when i run the processor, it shows "Import error No module named constant_time" at line session.write(). Though i have this constant_time.py under "/usr/local/lib/python2.7/dist-packages/ " I have also the path "/usr/local/lib/python2.7/dist-packages/ " in sys.path. I have

fabric - connect to machines with wierd prompts

对着背影说爱祢 提交于 2019-12-25 06:48:00
问题 Since fabric is based on paramiko, is there any API to connect to virtual appliance with ssh-process having weird interactive shells ? How can fabric interact with processes acting as such shells. e.g. VM acting as switch having prompt 'switch-> ' when login is done over ssh. fabfile.py need to feed commands thereafter. once such command is to deploy images over tftpboots. The VM provides both telnet/ssh interface with user/password) I tried below code, but it does not work - @task taskA():

create dictionary from a print output in python

馋奶兔 提交于 2019-12-25 04:01:19
问题 I have a for loop inside which I print each iterations in the loop and gives a output that is in the format of ls-lrt . I would like to create a dictionary out of this with key as name of file and value as the timestamp. for attr in sftp.listdir_attr('/abc'): ... print attr ... -rwxr-xr-x 1 7202711 7201853 5759 01 Mar 12:49 .nfs0000000615c569f500000004 -rw-r--r-- 1 7202711 7201853 62394 26 Sep 2017 1.java -rwxr-xr-x 1 7202711 7201853 5009 20 Aug 2017 a.sh -rwxr-xr-x 1 7202711 7201853 2201 15