环境:Linux

脚本:Python

功能:批量IP,远程执行命令、拷贝文件

运行:./ssh_scp.py iplist.txt

脚本内容:

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

import paramiko
import string
import sys

host_file = sys.argv[1]
username = 'root'
password = 'root@1234'
port = 22

paramiko.util.log_to_file('syslogin.log')

# 命令列表
cmd_list1 = ['mkdir -pv /usr/local/zabbix/scripts/tmp']
cmd_list2 = ['usermod -a -G mysql zabbix','chmod 755 /usr/local/zabbix/scripts']

#本地/远程机器 绝对路径文件名
localpath1 = "/data/file1"
remotpath1 = "/data/file1"

# 定义ssh函数

def SSH_CMD(hostname,cmds):
  try:
    for cmd in cmds:
      ssh = paramiko.SSHClient()
      ssh.load_system_host_keys()
      ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      ssh.connect(hostname=hostname, username=username, password=password)
    for cmd in cmds:
      stdin,stdout,stderr = ssh.exec_command("%s" % cmd)
      print stdout.read()
    ssh.close()
  except Exception, e:
    print str(e)

#定义scp函数

def SCP_FILE(hostname):
  try:
    t = paramiko.Transport((hostname, port))
    t.connect(username=username, password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.put(localpath1, remotpath1)
    print "%s" % localpath1

  except Exception, e:
    print str(e)

if __name__ == '__main__':
  with open(host_file) as f:
    for ip in f.readlines():
    ip = ip.strip('\n')
    hostname = "%s" % ip
    print "IP : %s" % ip
    SSH_CMD(hostname,cmd_list1)
    print "xxxxxx ssh ok "
    SCP_FILE(hostname)
    print "scp xxxx ok"

--OK

linux 无密码登录的更多相关文章

  1. Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点

    以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案 环境: OS:Linux Ubunt ...

  2. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

  3. ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问(转)

    转自:http://blog.csdn.net/pennyliang/article/details/8556662 ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访 ...

  4. linux ssh scp无密码登录

    一. 应用场景 假如你Linux Client是客户端, Server为服务器,用户名为user.现在要配置从Client到Server的无密码SSH登录或者无密码的scp拷贝. 例如客户端Clien ...

  5. Linux实现SSH无密码登录(对目录权限的设置非常详细,可以参考一下)

    假设服务器IP地址为192.168.1.1,机器名:cluster.hpc.org 客户端IP地址为172.16.16.1,机器名:p470-2.wangrx.sioc.ac.cn 客户端用户yzha ...

  6. 【原创】Linux服务器集群通过SSH无密码登录

    SSH 无密码授权访问slave集群机器 1. 安装SSH,所有集群机器,都要安装SSH环境介绍:  Master : CNT06BIG01 192.168.3.61 SLAVE 1: CNT06BI ...

  7. SSH无密码登录:只需两个简单步骤 (Linux)

    最后更新 2017年4月8日 分类 最新文章 服务器安全 标签 RSA SSH Key 非对称加密 如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是 ...

  8. Linux SSH无密码登录

    Linux服务器常见的登录方式有两种:密码登录.秘钥登录.工作中我们最常使用的是用秘钥登录的方法,因为使用秘钥登录更高效.更安全. 如何实现SSH无密码登录: 原理:无密码ssh登录的主要操作为将本机 ...

  9. linux CentOS中创建用户 无密码登录

    首先点击左上角的 “应用程序” -> “系统工具” -> “终端”,首先在终端中输入 su ,按回车,输入 root 密码以 root 用户登录,接着执行命令创建新用户 hadoop: 接 ...

随机推荐

  1. 什么是Web Services?

    什么是Web Services? Web Services 是应用程序组件 Web Services 使用开放协议进行通信 Web Services 是独立的(self-contained)并可自我描 ...

  2. JSP接口浅析

    一.tree型关系 JSP页面继承了org.apache.jasper.runtime.HttpJspBase抽象类并实现了org.apache.jasper.runtime.JspSourceDep ...

  3. python 左移右移 2个数交换

    左移右移的能够使得数字*2或者/2 那*3怎么办,就左移一位然后再+ 经典面试题: 1.交换2个数,不用temp   a=10  b=12 1.1 a = a + b = 22 b = a - b = ...

  4. 编写gulpfile.js文件:压缩合并css、js

    使用gulp一共有四个步骤: 1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm inst ...

  5. centos7 更换yum源为阿里云

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl -o /etc/yum.repos ...

  6. iOS --随机打乱一个数组的顺序 获得一个新的数组

    NSArray* arr = @[@"1",@"2",@"3"]; arr = [arr sortedArrayUsingComparato ...

  7. OpenCV学习笔记十七:opencv_bioinspired模块

    一,简介: 该库是基于仿生学的图像/视频处理库,目前包含模拟人类视网膜的算法.

  8. java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation 解决办法

    MyEclipse 启动tomcat 报错: java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: ...

  9. PowerDesigner 建模后如何导入到数据库

    from:https://jingyan.baidu.com/article/7f766daf465e9c4101e1d0d5.html 大家都知道PowerDesigner是一个数据库建模工具,但是 ...

  10. iOS-获取的NSDate date时间与实际相差8个小时解决方案

    本文转载至 http://blog.sina.com.cn/s/blog_51a995b70101iptl.html NSDate *date = [NSDate date]; NSTimeZone  ...