下面是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]#