美文网首页
sshpass的安装及使用

sshpass的安装及使用

作者: w_dll | 来源:发表于2019-12-14 10:25 被阅读0次

    title: 'sshpass的安装及使用'
    date: 2019-11-23 12:33:45
    tags: [sshpass,centos,tools,linux,install]
    published: true
    hideInList: false
    feature:


    目前工作需要大量进行批处理,在内网,简单的批量处理使用以及安装sshpass较为简单,在时间紧急的情况下也是一种很好的解决方案。
    前提是每台机器的密码需要一致,而且都有ssh服务。

    sshpass的安装由于是内网,需要有sshpass的离线安装包;
    获得离线安装包的方式可以参考我的上一篇文章。
    所使用的环境是centos7,下载离线安装包

    yum install --downloadonly --downloaddir /tmp/sshpass/ epel-release
    yum install --downloadonly --downloaddir /tmp/sshpass/  sshpass
    

    将rpm包导入内网机器中,安装sshpass;
    完成后,通过这台机器批量处理处理,包括它自身;
    我的设计思路是把所有的批量机器的ip保存在ip.txt文件中如:

    [root@wdll ~]# cat ip.txt 
    192.168.1.101
    192.168.1.102
    192.168.1.100
    

    装了sshpass的机器ip为192.168.1.100,放到末尾。
    这些机器的密码都为 123456,使用以下脚本进行预处理

    [root@wdll ~]# cat ssh.sh 
    #!/bin/bash
    for li in `cat ip.txt`;
    do
      echo "connecting to $li ......"
      sshpass -p 123456 ssh root@$li "sed -i '/UseDNS/d' /etc/ssh/sshd_config && echo 'UseDNS no' >>/etc/ssh/sshd_config && service sshd restart"
      echo "closed"
    done
    

    处理结束后,修改装了sshpass的机器的配置文件

    sed -i '/StrictHostKeyChecking/d' /etc/ssh/ssh_config;\
    echo 'StrictHostKeyChecking no' >> /etc/ssh/ssh_config;\
    sed -i '/GSSAPIAuthentication/d' /etc/ssh/ssh_config;\
    echo 'GSSAPIAuthentication no' >> /etc/ssh/ssh_config;\
    service sshd restart
    

    之后可以进行批量处理操作了;
    传输

    sshpass -p 123456 scp ${src_dir} root@${tar_ip}:${tar_dir}
    

    执行命令

    sshpass -p 123456 ssh root@${tar_ip} "${command}"
    

    相关文章

      网友评论

          本文标题:sshpass的安装及使用

          本文链接:https://www.haomeiwen.com/subject/swrcnctx.html