下面是pssh的安装、配置与使用,假设试图通过1台主机器(主节点192.168.21.200)去修改从机器(从节点192.168.21.201)
1.PSSH安装
(系统中已经安装有python)
只需要在主节点上安装pssh
下载地址:
https://files.pythonhosted.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
解压后进入该目录,安装
wget https://files.pythonhosted.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
tar -zxvf pssh-2.3.1.tar.gz
cd pssh-2.3.1
python setup.py build
python setup.py install
2.PSSH配置
配置主要有两项内容:
一、从结点的IP列表文件;二、主节点到从节点的ssh无密钥登录
IP列表文件就是将从结点的IP按行存在一个文件里,我给它命名为hostlist.txt,
下面是ssh无密钥登录
由于很多操作需要有sudo权限,所以尽量ssh无密钥登录到从节点的root用户下。
[root@docker ~]# ssh-keygen (然后按提示输入信息)
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+8RJmmCwgEREs0wJN7l1Vz5jybw4714krEbcq1SsXNc root@docker
The key's randomart image is:
+---[RSA 2048]----+
|*B+. .. |
|+++.. . .+ . |
|.o.o.. . O |
| .. o . * + . |
| . o S X o E |
| . + & * |
| X * . |
| o = . |
| ..+ |
+----[SHA256]-----+
[root@docker ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.21.201 (将密钥复制到从节点,需要输入密码)
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.21.201 (192.168.21.201)' can't be established.
ECDSA key fingerprint is SHA256:pE3X5rj4mSUgLaKCfrpRMa0gUbmL/8WIUesRUhszNs8.
ECDSA key fingerprint is MD5:b5:48:05:27:69:e1:a1:82:2f:86:dd:66:42:8a:25:5c.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.21.201's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@192.168.21.201'"
and check to make sure that only the key(s) you wanted were added.
[root@docker ~]#
3.PSSH使用
[root@docker ~]# vim hostlist.txt
[root@docker ~]# more hostlist.txt
192.168.21.201
[root@docker ~]#
[root@docker ~]# ls
anaconda-ks.cfg dstat-0.7.2-12.el7.noarch.rpm initial-setup-ks.cfg 模板 图片 下载 桌面
docker-install.txt hostlist.txt 公共 视频 文档 音乐
#例如将主节点的/root/dstat-0.7.2-12.el7.noarch.rpm拷贝到从节点的/home/目录下
[root@docker ~]# pscp -h hostlist.txt -r dstat-0.7.2-12.el7.noarch.rpm /home/
[1] 09:53:10 [SUCCESS] 192.168.21.201
[root@docker ~]#
[root@server home]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a6:22:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.21.201/24 brd 192.168.21.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea6:22fe/64 scope link
valid_lft forever preferred_lft forever
[root@server home]# ls
dstat-0.7.2-12.el7.noarch.rpm
[root@server home]#
例如在从节点建立新目录/home/testssh
[root@docker ~]# pssh -h hostlist.txt -P "mkdir -p /home/testssh"
[1] 09:54:39 [SUCCESS] 192.168.21.201
[root@docker ~]#
[root@server home]# ls
dstat-0.7.2-12.el7.noarch.rpm testssh
[root@server home]#
Linux PSSH
原创huazhixusword 博主文章分类:Linux ©著作权
©著作权归作者所有:来自51CTO博客作者huazhixusword的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Ansible简介
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
linux学习-pssh命令
pssh命令介绍
服务器 sql mysql 命令行参数 python -
实用命令pssh pscp.pssh pslurp
pssh包是在epel源里面的pssh命令在使用时要实现两台机器间的基于秘钥的ssh登陆,因为该命令是无法交互输入yes的,而且在使用-A手动输入密码时,如果我们用了-h参数批量处理多台机器的话,他只会有一次输入密码的机会,因此,如果要管理的多台机器上面的密码不一样的话也会出错!!! 其中-e 和 -o参数也是比较常用的
pssh批量管理命令 pscp.pssh向多台机器批量发送文 pslurp从多台机器上考文件 -
pssh 使用记录
pssh 使用记录
pssh 批量配置