ansible 和 saltstack 都是为了同时在多台主机上执行相同的命令, 但是 salt配置麻烦,ansible基本不用配置, ansible 通过ssh来连接并控制被控节点 1. 安装 第一步: 下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 第二步: 安装ansible yum install -y ansible 2. 管控主机秘钥登录被控主机 ssh 秘钥登…
安装paramiko模块 /usr/local/python36/bin/pip3 install paramiko 1.获取cpu使用率 #!/usr/bin/python #coding=utf8 #target: get the cpu's used of remote linux system import paramiko def getlinux(ssh): # get the result of executing command stdin, stdout, stderr = s…
功能说明:批量在多台服务器上执行命令 #!/bin/bash # ========================================== # 功能:批量在多台服务器上执行命令 # 方法:./batch_cmd_manager.sh <cmd_to_exec> # 返回:各服务器执行命令返回的结果列表 # 前提:在待执行命令的各个服务器上设置了免密登录 # 警告:禁止执行删除.格式化等这样的可能造成严重后果的命令 # 日期:2018-04-23 # By:HackHan # 其他:…
按照集团运维信息安全制度, 需要每个一段时间对线上服务器密码进行一次变更,通过shell脚本部署比较繁琐,所以决定采用ansible脚本对远程主机root密码进行批量重置,该脚本已经在稳定运行在正式环境下.具体方法如下: 1)  在服务端安装ansible [root@ansible-server ~]# yum install -y ansible 2) 配置ansible到远程主机的ssh无密码信任关系 (authoried_keys 模块) 批量实现多台服务器之间ssh无密码登录的相互信任…
2014年第一个脚本,哈哈!!! expect实现远程主机自动执行命令脚本: #!/usr/bin/expect -- if { [llength $argv] < 4 } { puts "Usage: $argv0 ip user passwd port commands timeout" exit 1 } match_max 600000 set ip [lindex $argv 0] set user [lindex $argv 1] set passwd [lindex…
Ansible直接执行远程命令,不用ssh登陆交互执行. 如下: ansible all -i 192.168.199.180, -m shell -a "ifconfig" -u supermap 参数解释: -i 连接到远程主机“192.168.199.180,”,注意这里的“,”直接指定主机名列表,没有“,”该参数则被解释为主机名的列表文件. -m 为ansible模块名称,执行shell命令. -a 远程shell命令,为ifconfig(获取网络配置参数). -u 指定执行的…
1 ansible简介 1.1 ansible批量管理服务概述 (1)是基于python语言开发的自动化软件工具(2)是基于SSH远程管理服务实现远程主机批量管理(3)并行管理,部署简单,应用也简单方便 1.2 ansible批量管理服务意义 (1)提高工作的效率(2)提高工作的准确度(3)减少维护的成本(4)减少重复性工作 1.3 ansible批量管理服务功能 (1)可以实现批量系统操作配置(2)可以实现批量软件服务部署(3)可以实现批量文件数据分发(4)可以实现批量系统信息收集 1.4 a…
原文章摘自:http://lizhenliang.blog.51cto.com/7876557/1607723/ Linux下实现免交互登陆一般有两种: 1. SSH无密码认证方式 客户端使用ssh-keygen生成密钥对,将公钥复制到服务端(authorized_keys),SSH提供公钥登陆,当SSH访问服务端时,服务端先在本机寻找客户端的公钥,然后把客户端发来的公钥进行比较,如果一致,则用公钥加密给客户端,客户端再用私钥进行解密,实现加密所有传输的数据. 1>.在客户机上创建密钥对 # s…
需求描述: 在实际shell脚本的编写过程中,需要通过ssh远程执行一个命令,并返回执行的结果 简单来说,就是将命令发送到远程的主机上进行执行,但是并没有实际的登录到远程主机上.即通过 ssh的方式本地调用远程的命令. 实现方法: 通过下面脚本测试通过ssh发送命令给远程主机,并且返回执行结果: ssh username@hostname command 测试过程: 1.通过ssh发送一个命令 [mysql@redhat6 ~]$ ssh oracle@standby df -h Filesys…
起因 线上环境是在内网,登陆线上环境需要使用 VPN + 堡垒机 登陆,但是我日常登陆线上环境都是 VPN + 堡垒机 + Socks5常驻代理,在shell端只需要保存会话,会话使用socks5代理即可无缝ssh到线上服务器. 今天来发现无法登陆服务器,但是ssh *** -f -N ****@**** 建立后台socks的方式并不会把密码过期的问题暴露出来,经过多次尝试,手动登陆服务器才发现用于登陆服务器的密码已过期. 手动更新密码后问题恢复. 解决问题 由于这一批服务器都存在密码过期的问题…