• paramiko模块实现Xshell自动连接服务器


    python和自动化运维

           在工作中往往会遇到要在几十台甚至几万台服务器上面跑一条命令或者是跑一个脚本,可以使用批量管理软件(ansible、jumpserver、puppet等),如果脚本用来实现的话,基本思路是:需要先登录要操作的服务器,然后再执行命令或者脚本,其中最难的是怎么批量免密登录到服务器(不要说几百台,就是十几台,也会让你很烦躁),方法很多,这里只介绍python的模块:paramiko。

    系统:centos 7.6

    python环境:python 2.7

    1. 安装paramiko模块

    pip install pycrypto paramiko  #前提是你已经安装pip,如果没有安装pip的话,查看最后,有安装的方式

    2. 脚本内容

    (1)将所有要批量添加服务器的IP地址存入一个文件

    cat /mnt/script/ip.txt

      192.168.0.1

      192.168.0.2

      192.168.0.3

    (2)修改和执行脚本

    cat tuisong.py  #需要修改三个地方,其他的都是固定格式

      #! /usr/bin/env python
       #   -*-coding:utf-8-*-

      import paramiko  #导入模块

      with open('/mnt/script/ip.txt') as f:  #服务器的IP地址,注意这里要加上单引号或者双引号
      for line in f:
      print line
      ssh = paramiko.SSHClient()
      ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      ssh.connect(line, 22, '用户名','password')  #输入远程连接的端口号、登录的用户名和登录用户的密码
      stdin, stdout, stderr = ssh.exec_command('要执行的命令')  #例如:mkdir /root/test 或者 'sh ifconfig_ip.sh'
      print stdin
      print stdout
      print stderr

    python tuisong.py  #执行脚本

    补充内容:安装pip

    yum -y install epel-release

    yum -y install python-pip

  • 相关阅读:
    ant脚本打jar包 自动获取时间以及项目svn版本号
    15分钟学会git基本的操作命令
    java后端模拟表单提交
    优秀js插件收藏
    javascript操作
    javascript常用方法整理--数组篇
    javascript exec方法
    javascript 拷贝
    自执行函数简单应用
    jsonp跨域原理解析
  • 原文地址:https://www.cnblogs.com/yunjisuan1024/p/11766598.html
Copyright © 2020-2023  润新知