shell sshpass 主机交互 在另外一台主机上执行某个命令 批量管理主机 以及一些案例

目录

  • 作用
    • 安装 sshpass
    • sshpass 用法
    • 在远程主机执行某个命令
  • 案例
    • 批量传输密匙
    • 批量拷贝文件
    • 批量修改密码

作用

  • 就是用一台主机 控制另外一台主机
  • 免交互任务管理工具
  • 方便批量管理主机
  • 使用方法就是在ssh 前边加一个 sshpass

安装 sshpass

# 安装 sshpass
yum -y install sshpass# 卸载
yum -y reomve sshpass

sshpass 用法

#第一次登录时候需要输入yes   执行之后会登录到目标主机
sshpass -p{密码} ssh  -p {端口} -o StrictHostKeyChecking=no root@{ip} 
sshpass -proot ssh -p 22 -o StrictHostKeyChecking=no root@192.168.1.102 

在这里插入图片描述

在远程主机执行某个命令

#使用sshpass获取ip地址
sshpass -p{密码} shh -p {端口}  root@{ip} "{命令}"
sshpass -proot ssh root@192.168.1.102  -p 22 "ip a"

在这里插入图片描述
在这里插入图片描述

# 指定文件
echo "passwd" > passwd
sshpass -f -p@Baipiao123 ssh root@{123.123.123.123} "ip a"
echo "password" > password
sshpass -f password ssh root@10.36.182.100 "ip a"# 结合scp一起使用
sshpass -p 密码 scp file root@ip:/路径
## 示例:把本地文件/etc/hosts传入远程机器10.36.182.100
sshpass -p 1 scp /etc/hosts root@10.36.182.100:/etc# 远程解压
sshpass -p 密码 ssh root@ip -tt tar -xzf 远程文件.tar包 -C 解压路径

案例

批量传输密匙

#!/bin/bash
<<bak
pass.txt 文件示例
192.168.1.2 root password 22
192.168.1.3 root password 22
bak
[ ! -f $HOME/.ssh/id_rsa ] && ssh-keygen -t rsa -b 2048 -N "" -f $HOME/.ssh/id_rsa
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
INFO=pass.txt
# yum install -y sshpass
for IP in $(awk '/^[^#]/{print $1}' $INFO); doUSER=$(awk -v I=$IP 'I==$1{print $2}' $INFO)PASS=$(awk -v I=$IP 'I==$1{print $3}' $INFO)PORT=$(awk -v I=$IP 'I==$1{print $4}' $INFO)sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no ${USER}@${IP}  && \action "秘钥传输成功 $IP" /bin/true || \action "秘钥传输失败 $IP" /bin/false
done

批量拷贝文件

#!/bin/bash
<<bak
pass.txt 文件示例
192.168.1.2 root password 22
192.168.1.3 root password 22
bak
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
INFO=pass.txt
# yum install -y sshpass
for IP in $(awk '/^[^#]/{print $1}' $INFO); doUSER=$(awk -v I=$IP 'I==$1{print $2}' $INFO)PASS=$(awk -v I=$IP 'I==$1{print $3}' $INFO)PORT=$(awk -v I=$IP 'I==$1{print $4}' $INFO)sshpass -p $PASS scp -o StrictHostKeyChecking=no $1 ${USER}@${IP}:$2  && \action "拷贝成功 $IP" /bin/true || \action "拷贝失败 $IP" /bin/false
done

批量修改密码

#!/bin/bash
<<bak
old_pass.txt 文件示例
192.168.1.2 root password 22
192.168.1.3 root password 22
bak[ -f /etc/init.d/functions ] && . /etc/init.d/functions
OLD_INFO=old_pass.txt
NEW_INFO=new_pass.txt
# yum install -y sshpass
for IP in $(awk '/^[^#]/{print $1}' $OLD_INFO); doUSER=$(awk -v I=$IP 'I==$1{print $2}' $OLD_INFO)PASS=$(awk -v I=$IP 'I==$1{print $3}' $OLD_INFO)PORT=$(awk -v I=$IP 'I==$1{print $4}' $OLD_INFO)NEW_PASS=$(openssl rand -base64 8)#NEW_PASS=1sshpass -p "$PASS" ssh -p $PORT $USER@$IP -o StrictHostKeyChecking=no "echo $NEW_PASS |passwd --stdin $USER" && \(echo "$IP $USER $NEW_PASS $PORT [`date '+%F %T'`]" >> $NEW_INFO && \action "配置成功 $USER $IP $NEW_PASS" /bin/true) || \action "配置失败 $USER $IP $PASS" /bin/false
done

本章完结
爱情不是牢笼 而应该吧最好的展现给对方 让对方觉得被爱 和 尊重

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/322768.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】数据库之MHA高可用

目录 一、MHA 1、什么是MHA 2、MHA 的组成 3、MHA的特点 4、MHA的工作原理 二、有哪些数据库集群高可用方案 三、实操&#xff1a;一主两从部署MHA 1、完成主从复制 步骤一&#xff1a;完成所有MySQL的配置文件修改 步骤二&#xff1a;完成所有MySQL的主从授权&#x…

Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (二)

这个是继上一篇文章 “Elasticsearch&#xff1a;Serarch tutorial - 使用 Python 进行搜索 &#xff08;一&#xff09;” 的续篇。在今天的文章中&#xff0c;我们接着来完成如何进行分页及过滤。 分页 - pagination 应用程序处理大量结果通常是不切实际的。 因此&#xff0…

【计算机算法设计与分析】棋盘覆盖问题(C++_分治法)

文章目录 题目描述测试样例算法原理算法实现参考资料 题目描述 在一个 2 k 2 k 2^k \times 2^k 2k2k个方格组成的棋盘中&#xff0c;若恰有一个方格与其他方格不同&#xff0c;则称该方格为一个特殊方格&#xff0c;且称该棋盘为一个特殊棋盘。显然&#xff0c;特殊方格在棋…

ssm基于vue框架和elementui组件的手机官网论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本手机官网就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&#x…

uniCloud 云函数

相对于云函数&#xff0c;官方更推荐使用 云对象 新建云函数 编辑云函数 uniCloud-aliyun/cloudfunctions/hello_func/index.js use strict; exports.main async (event, context) > {let {name} eventreturn 你好&#xff0c;${name}! };云函数接收的参数从event中解构获…

接了一条路由器视频广告

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 2023年7月&#xff0c;松松团队荣幸的承接了“某口袋路由器”的短视频广告。 我们向客户索取了了几个卖点&#xff1a; 1.家用美观不用走线(无线小巧美观) 外出便携(出差、户外直播、露营等&#xff0c;只要充满电…

http 503 错误

503错误是一种HTTP状态码&#xff0c;表示你请求的网站或服务暂时不可用&#xff0c;通常是因为服务器过载或维护&#xff0c;你可能会看到类似这样的提示&#xff1a;503 Service Unavailable、503 Service Temporarily Unavailable、HTTP Server Error 503、HTTP Error 503 I…

小红书话题浏览近4亿,全网热议“尔滨”!关键词数据拆解爆点玩法

据说&#xff0c;“南方小土豆”勇闯哈尔滨后&#xff0c;北方变了&#xff1f;&#xff01;冻梨切盘摆出花、东北大哥夹子音、就连东北虎都变金渐层了……继淄博后&#xff0c;哈尔滨成为下一个网红城市。哈尔滨为何这样火&#xff1f;通过小红书数据分析&#xff0c;从社交货…

windows 10 安装wsl ubuntu

1.首先管理员模式打卡powershell&#xff0c;执行 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 2.执行 wsl --update wsl --…

点对点SDWAN组网:通过专线连接实现企业分支互联

点对点SDWAN是一种通过软件定义网络技术将企业分支互联的组网解决方案。在点对点SDWAN中&#xff0c;企业分支通过专线连接实现互联&#xff0c;以满足对网络性能和可靠性的要求。 传统的WAN架构通常使用MPLS&#xff08;多协议标签交换&#xff09;技术来实现企业分支的互联。…

CEEMDAN +组合预测模型(CNN-Transformer + ARIMA)

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

redis报错:Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

Redis启动时报错&#xff1a; Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 这个错误说明已经开启了redis&#xff0c;并且已经占用了端口6379&#xff0c;需要停止redis后再开启。 redis-cli.exeshutdownexitredis-server redis.windows.conf 参考…