Linux PSSH

下面是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配置

配置主要有兩項內容:
1、從結點的IP列表文件;2、主節點到從節點的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]#
相關文章
相關標籤/搜索