python远程控制

标签(空格分隔): 远程Linux


python远程控制:方案:

  • Paramiko

    Pexpect(主要Linux机器)

安装使用:pip install paramiko

  • 注意在安装的时候,会有比较慢因为:pip在美国的,而且有一些加密文件,所有会比较慢,所以我们可以设置一个超时时间;

    2.保证有一台Linux主机;

    3.保证ssh服务开启:用putty、或者:xshell连接试试看;
import paramiko
#创建SSHClient 实例对象
ssh=paramiko.SSHClient()
#调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接远程机器,地址,端口,用户名密码
ssh.connect('192.168.199.236',22,'root','111111')
#创建目录;
cmd = 'mkdir jcy2'
ssh.exec_command(cmd)
#如果命令行跨行
cmd='''echo '123
45678
90abc'
>myfile'''
ssh.exec_command(cmd)
#获取命令行的执行结果
cmd ='cat myfile'
stdin,stdout,stderr =ssh.exec_command(cmd)
print(stdout.read()+stderr.read())
ssh.close()
  • 注意点:

    exec_command每次执行都会打开一个新的channel,执行;

    2.新的环境,不再上次执行的环境里面

    3.所以我们不能多次调用,达到多次执行的目的

例如:如下代码:

ssh.exec_command('pwd')
ssh.exec_command('mkdir jcy3')
ssh.exec_command('cd jcy3')
stdin,stdout,stderr =ssh.exec_command('pwd') print(stdout.read())
ssh.close()

linux 命令:free查看内存信息;

我们以后可以在代码里面每隔5分钟,看一下内存的情况;

  • 如下是传输文件到远程:
import paramiko
#创建SSHClient 实例对象
ssh=paramiko.SSHClient()
#调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接远程机器,地址,端口,用户名密码
ssh.connect('192.168.199.236',22,'root','111111')
sftp=ssh.open_sftp()
sftp.put('ftp1.py','home/stt/ftp1.py')
sftp.close()

python远程操作服务器的更多相关文章

  1. paramiko模块(远程操作服务器)

    paramiko模块(远程操作服务器) django+paramkio实现远程某些服务器执行命令+上传文件 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作. pip3 install par ...

  2. [ PyQt入门教程 ] PyQt+socket实现远程操作服务器

    来需求了..干活啦.. 需求内容 部分时候由于缓存刷新.验证码显示不出来或者浏览器打不开或者打开速度很慢等原因,导致部分测试同事不想使用浏览器登录服务器执行命令.期望有小工具可以替代登录浏览器的操作, ...

  3. Java可以远程操作服务器的协议笔记

    1.SCPClient(本地复制到远程.远程复制到本地.目前未看到可以远程操作文件) 2.SMB协议(可以远程操作文件:新增.修改) 3.SFTPv3Client(可以远程操作文件:新增.修改)

  4. python远程登录服务器(paramiko模块安装和使用)

    转自:http://www.jb51.net/article/46285.htm 一:简介 由paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器 ...

  5. 如何使用python远程操作linux

    在云服务测试中,往往需要我们进入云服务内容进行相关内容的测试.这测试可以使用平台自身的noVNC.外部辅助xshell等工具连接到云服务内部进行测试.但是在如此反复的测试操作中,就需要用到自动化测试方 ...

  6. ssh远程操作服务器

    登录方式 ssh account@192.168.xxx.xxx 输入密码 远程上传下载文件 上传: scp filepath acount@192.168.xxx.xxx:path filepath ...

  7. C# C/S WPF 远程操作服务器上面的文件

    作的时候用的是WPF,需要做一个上传附件的功能,服务器上有一个文件夹,附件都上传到里面,只知道URL路径. 文件夹是在服务器上的IIS里面(就比如说你发布一个网站,把文件夹建在网站下面,当然这个网站啥 ...

  8. 通过ssh实现远程登陆服务器!

    通过ssh实现远程登陆前提是服务器已经开启ssh服务,至于怎么开启,可以参看上一篇“Linux服务器开启ssh服务,实现ssh远程登陆!”! 使用ssh登陆时,输入主机(linux的ip地址),账号, ...

  9. 远程管理服务器--批量管理服务器,vps

    一般大型的企事业单位都有自己的服务器,但是服务器一般都放在机房,辐射较大,噪音大,如何能有效的避免这一情况呢?哈哈,那就来个远程桌面,远程操作服务器吧. 一.使用 iis7远程连接管理工具工具下载官网 ...

随机推荐

  1. android 开发 实现一个app的引导查看页面(使用ViewPager组件)

    我们安装完app后第一次打开app,通常都会有一个翻页图片形式的app引导简介说明.下面我们来实现这个功能.ViewPager这个组件与ListView和RecyclerView在使用上有很高的相似处 ...

  2. nodejs基础学习1

    ES6常用新语法 ES6新语法 什么是ES6? 由于JavaScript是上个世纪90年代,由Brendan Eich在用了10天左右的时间发明的:虽然语言的设计者很牛逼,但是也扛不住"时间 ...

  3. 【译】在Flask中使用Celery

    为了在后台运行任务,我们可以使用线程(或者进程). 使用线程(或者进程)的好处是保持处理逻辑简洁.但是,在需要可扩展的生产环境中,我们也可以考虑使用Celery代替线程.   Celery是什么? C ...

  4. odps 使用参考 & tips

    1.  自定义udf 编写udf 1)pom.xml <dependency> <groupId>com.aliyun.odps</groupId> <art ...

  5. python [] 数组 list 交集 并集 差集

    >>> a = [1,2,3] >>> b = [2,4,5] >>> list(set(a).intersection(set(b))) [2] ...

  6. redis(2)---redis基本数据类型及常见命令

    Redis的魅力 缓存大致可以分为两类,一种是应用内缓存,比如Map(简单的数据结构),以及EH Cache(Java第三方库),另一种就是缓存组件,比如Memached,Redis:Redis(re ...

  7. ubuntu 使用sudo apt-get update命令的时候会报http://archive.ubuntukylin.com:10006/ubuntukylin/dists/xenial/InRelease 无法连接

    参考:  https://blog.csdn.net/xiaoyan94/article/details/52404539 于是找到一个包含 http://archive.ubuntukylin.co ...

  8. Nginx代理webSocket经常中断的解决方案, 如何保持长连接

    背景 这天气够热的,要处理的事情也够多的.... 1 2 想看解决的,直接 ctrl+f搜索关键字‘配置点’ 开始前交代(想看原因的看这个,个人观点,不代表正确) 解说:今天用nginx反代通讯项目, ...

  9. Centos6 下安装Nginx+Mysql+PHP

    安装nginx https://segmentfault.com/a/1190000007928556 添加源 $ wget http://nginx.org/packages/centos/6/no ...

  10. 关于 C++ 默认构造函数 的几个误区 转载

    https://blog.csdn.net/ccrazyman/article/details/8138425