Linux pssh安装与使用

说明:我这是没有在密钥认证的情况下操作

1、安装pssh

[root@libin ansible]# yum install -y pssh

[root@libin ansible]# rpm -ql pssh
/usr/bin/pnuke
/usr/bin/prsync
/usr/bin/pscp
/usr/bin/pslurp
/usr/bin/pssh
/usr/bin/pssh-askpass

2、使用pssh

[root@libin ansible]# man pssh

[root@libin ansible]# cat hosts.txt
192.168.124.134
192.168.124.132

[root@libin ansible]# pssh -h hosts.txt hostname
[1] 19:13:21 [SUCCESS] 192.168.124.132
[2] 19:13:21 [SUCCESS] 192.168.124.134

[root@libin ansible]# pssh -h hosts.txt “hostname > /tmp/libin.txt” #追加到 /tmp/libin.txt
[1] 19:16:32 [SUCCESS] 192.168.124.132
[2] 19:16:32 [SUCCESS] 192.168.124.134

[root@libin ansible]# cat /tmp/libin.txt
libin.com

-i:执行命令时,将标准错误的和标准输出的信息都显示出来

-p:同一时间并发去执行命令,指定最大的并发数量

-A:输入用户的密码

[1] 19:38:32 [SUCCESS] 192.168.124.134
wlcome to study redhat-linux
libin3.com
[2] 19:38:32 [SUCCESS] 192.168.124.132
libin.com

[root@libin ansible]# pssh -A -ih hosts.txt ls -l /tmp/

3、使用pscp

[root@libin ansible]# pscp -h hosts.txt /etc/hosts /tmp/ #将客户端的/etc/hosts拷贝到/tmp/下
[1] 19:43:36 [FAILURE] 192.168.124.134 Exited with error code 1
[2] 19:43:36 [SUCCESS] 192.168.124.132

[root@libin ansible]# pssh -h hosts.txt ls -l /tmp/
[1] 19:45:19 [SUCCESS] 192.168.124.132
[2] 19:45:19 [SUCCESS] 192.168.124.134

[root@libin ansible]# pssh -ih hosts.txt ls -l /tmp/ #查看/tmp/目录下的所有文件

=========================================

(1)把公钥发到服务器

在一台机器上可用管理和控制其他机器

secureCRT /xshell/ssh秘钥认证/pssh

1、创建公钥

[root@libin ansible]# ssh-keygen #(默认为RSA类型,已经比较过时)

[root@libin ansible]# ssh-keygen -t dsa #-t:指定类型
Generating public/private dsa key pair. #生成一对公钥,私钥
Enter file in which to save the key (/root/.ssh/id_dsa): 私钥位置 #默认存放的目录为/root/.ssh/id_dsa,ll -a 查看所有隐藏的文件

Enter passphrase (empty for no passphrase): 设置密码

Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.

Your public key has been saved in /root/.ssh/id_dsa.pub.

The key fingerprint is:
SHA256:yQiMcqnRlhBguTI5uApgP8hv+z2upk6/eXmbHZSNFvI root@libin.com
The key’s randomart image is:
+—[DSA 1024]—-+
|=o. |
|.+ = |
|+.O o . . |
|BO . o .o = |
|+o . S E . |
|oo o o |
|o … . . |
|. .o..o+ .o . |
| o+=
=ooo.. |
+—-[SHA256]—–+

[root@libin ansible]# ll /root/.ssh/
总用量 24
-r——–. 1 root root 1584 2月 22 2022 authorized_keys
-rw——- 1 root root 668 9月 25 20:10 id_dsa
-rw-r–r– 1 root root 604 9月 25 20:10 id_dsa.pub

2、发送公钥到各个服务器

[root@libin ansible]# ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.168.124.134 #-i:指定公钥位置 ,-f :指定私钥位置

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/root/.ssh/id_dsa.pub”
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

[root@libin ansible]# ssh 192.168.124.134 hostname #连接服务器执行一个命令,检查
Warning: Permanently added ‘192.168.124.134’ (ECDSA) to the list of known hosts.

wlcome to study redhat-linux
libin3.com

3、sshpass(专门用来给ssh相关的命令提供密码)

[root@libin ansible]# sshpass -p123456 ssh root@192.168.124.134 hostname #-p:指定一个密码
Warning: Permanently added ‘192.168.124.134’ (ECDSA) to the list of known hosts.

wlcome to study redhat-linux
libin3.com

[root@libin ansible]# rm -fr /root/.ssh/id_rsa* #清除密钥对

[root@libin ansible]# ssh-keygen -t dsa -f /root/.ssh/id_dsa -P “” #-t:指定密钥类型, -f:指定私钥 -P:指定密码,这里意思是空密码

[root@libin ansible]# fo i in {132..134};do sshpass -p123456 ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.124.$i;done #利用for循环下发私钥

ssh 自动维护并检查一个身份数据库, 它包含所有(成功)来访的主机的身份数据. 主机密钥存放在用户根目录下的 $HOME/.ssh/known_hosts文件中. 另外, SSH 自动检查 /etc/ssh/ssh_known_hosts 里面已知的主机. 任何新主机将被自动添加到用户文件中.如果某个主机的身份发生改变, ssh 就会发出警告, 并且关闭对它的密码认证, 以防止特洛伊木马窃取用户密码.这个机制的另一个目的是防止中间人攻击, 否则这种攻击可能会绕过加密系统.StrictHostKeyChecking
选项用来防止登录到主机密钥不能识别或发生改变的那些机器.

[root@libin ansible]# for i in {1..5} #例子:for循环的用法

do
echo $i www.baidu.com
done
1 www.baidu.com
2 www.baidu.com
3 www.baidu.com
4 www.baidu.com
5 www.baidu.com

================================================================

Original: https://www.cnblogs.com/libin-linux/p/16728650.html
Author: LB_运维技术
Title: Linux pssh安装与使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606712/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Snap Build Your Own Block修炼之道-添加自定义类别

    Snap Build Your Own Block自我修炼方法:1、所有的面向对象,其实是对面向过程的抽象过程而已; 2、面对别人的开源项目时,需要找准源头(即项目运行的起点,当然…

    Linux 2023年6月6日
    0105
  • 快速掌握 Base 64 | Java JS 密码系列

    Java 密码系列 – Java 和 JS Base 64 Base 64 不属于密码技术,仅是编码方式。但由于在 Java、JavaScript、区块链等出现的频率较…

    Linux 2023年6月7日
    0102
  • MySQL(一)——查看密码与修改

    查看数据库密码,策略与修改 RPM安装: 源码安装: 进入:数据库 进入数据库后第一步设置密码: 查看密码策略 修改密码策略,长度 0宽容模式 混合模式,0关闭大小写 特殊字符 O…

    Linux 2023年6月13日
    089
  • 阿里云OSS + PicGo搭建图床

    配置 PicGo 下载安装完成后,打开 PicGo,配置阿里云 OSS。 其中,KeyId 即创建 RAM 用户的 AccessKey ID,KeySecret 即 AccessK…

    Linux 2023年6月7日
    0131
  • 子网掩码、前缀长度、IP地址数的换算

    子网掩码、前缀长度、IP地址数的换算 子网掩码 子网掩码只有一个功能,就是将IP地址划分为网络地址和主机地址两部分。 如同现实生活中的通讯地址,可以看作省市部分和具体门牌号部分。相…

    Linux 2023年6月6日
    0250
  • wsl2环境搭建

    我电脑配置不高,开虚拟机跑linux总觉得太卡。最近才了解到windows早就上了wsl2——一款较为轻量的虚拟机软件。所以本篇博客偏笔记向,存粹记录以便多次使用。 WSL2安装 …

    Linux 2023年6月7日
    096
  • 机器学习入门笔记02–流行学习与图嵌入理论基础

    核化线性降维 线性降维方法假设从高维空间到低维空间的函数映射是线性的,然而,在不少现实任务中,可能需要非线性映射才能找到恰当的低维嵌入。 流行学习 “流形”…

    Linux 2023年6月6日
    087
  • 尤娜故事-迷雾-springboot扮酷小技巧

    前情回顾 从前,有一个简单的通道系统叫尤娜…… 尤娜系统的第一次飞行中换引擎的架构垂直拆分改造 四种常用的微服务架构拆分方式 尤娜,我去面试了 正文 我回到…

    Linux 2023年6月14日
    086
  • redisobject详解

    typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU_…

    Linux 2023年5月28日
    0116
  • Jenkins发布SpringBoot项目

    第二步:Configure System (系统设置) 我们只需要设置最后面的一项,配置远程服务SSH: 配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图: 第三…

    Linux 2023年6月14日
    0107
  • .net core3.1 abp动态菜单和动态权限(思路) (二)

    ps:本文需要先把abp的源码下载一份来下,跟着一起找实现,更容易懂 在abp中,对于权限和菜单使用静态来管理,菜单的加载是在登陆页面的地方(具体是怎么知道的,浏览器按F12,然后…

    Linux 2023年6月7日
    0138
  • Linux ARM中断后的处理(5)【转】

    1. 中断进入自定义函数 在中断发生后,经历ARM通用的处理阶段,到达irq_handler宏,转入C语言阶段。 //arch/arm/kernel/entry-armv.S/**…

    Linux 2023年6月8日
    091
  • 四、vi/vim编辑器

    vi/vim 模式命令模式编辑模式末行模式home键 行首end键 行尾命令模式切换到编辑模式a 当前字符后输入A 当前行行尾输入i 当前字符前输入I 当前行行首输入o 当前行下一…

    Linux 2023年6月7日
    0111
  • Jenkins 内置变量

    BRANCH_NAME 对于多分支项目,这将设置为正在构建的分支的名称,例如,如果您希望master从功能分支而不是从功能分支部署到生产;如果对应于某种更改请求,则名称通常是任意的…

    Linux 2023年5月27日
    0106
  • docker inspect 使用

    获取容器 IP 信息 docker inspect -f {{.NetworkSettings.IPAddress}} centos1 获取容器占用overlay2目录 docke…

    Linux 2023年6月6日
    0112
  • 部署无人值守安装系统

    主机名 操作系统 ip地址 无人值守系统 CentOS Linux release 7.9.2009 (Core) 192.168.71.128 客户端 未安装系统 –…

    Linux 2023年6月13日
    0128
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球