linux系统中使用sshpass工具批量免密脚本

在服务器运维工作中,经常需要管理几百台服务器,为了提高工作效率,今天给大家介绍sshpass工具,在不用输了密码情况下ssh登录,在这节文章中给大家介绍sshpass命令及linux系统中的应用场景。

在Linux系统中,ssh是一种远程登录协议,可以让用户在不同主机之间进行安全的远程登录。但是,在使用ssh时,通常需要输入密码验证身份,这样会导致在批量部署或自动化操作时出现问题。sshpass命令就是为了解决这个问题而被设计出来的。

先安装 sshpass 软件

yum install -y sshpass

直接远程连接某台主机

sshpass -p 'password' ssh username@hostname

从远程主机上拉取文件到本地

拉取文件

命令: sshpass  -p 'password' scp username@ip:/远程文件目录/远程服务器文件/本地文件目录/

上传文件

命令:sshpass  -p 'password' scp /本地路径/文件名 username@ip:/远程服务器目录

在实际工作中,如果需要频繁登录多台服务器进行操作,首先使用ssh-keygen命令生成ssh密钥,

准备好ip列表

ip.txt
192.168.x.x
192.168.x.x
192.168.x.x
192.168.x.x
192.168.x.x
192.168.x.x

通过脚本批量操作

#!/bin/bash

USER=root
PASS=password

for IP_host in `cat ip.txt`
do
    ping  -c 1 -w 1 ${IP_host} &>/dev/null
    if [ $? -eq 0 ];then
        (sshpass -p ${PASS} ssh-copy-id -o StrictHostKeyChecking=no ${IP_host}) 
    fi
done

-o StrictHostKeyChecking=no选项,表示远程连接时不提示是否输入yes/no

后面文章将会为大家介绍,批量修改密码,批量重启服务操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值