linux批量管理服务,通过PSSH批量管理Linux服务器
pssh是一個可以在多臺服務器上執行命令的工具,同時支持拷貝文件,是同類工具中很出色的。使用是必須在各個服務器上配置好密鑰認證訪問。
pssh 包安裝 5 個實用程序:
pssh 在多個主機上并行地運行命令。
pscp 把文件并行地復制到多個主機上。
prsync 通過 rsync 協議把文件高效地并行復制到多個主機上。
pslurp 把文件并行地從多個遠程主機復制到中心主機上。
pnuke 并行地在多個遠程主機上殺死進程。
1.配置服務器間密鑰通信
可使用如下命令將SSH的公鑰復制到被管理服務器。
srv:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
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:
dd:e9:d3:84:fc:4c:ff:b4:b0:fa:12:fa:fd:49:3d:4d root@testsrv
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . o o |
| S . = o E|
| o * oo|
| . +.+o=|
| . ...+.=|
| .o++.+.|
+-----------------+
出來的提示可以用默認值,然后將產生的公共密鑰傳到目標機器
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.21:/root/.ssh/authorized_keys
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.22:/root/.ssh/authorized_keys
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.31:/root/.ssh/authorized_keys
srv:~# scp ~/.ssh/id_rsa.pub 192.168.159.32:/root/.ssh/authorized_keys
該方法可用于scp、ssh本地不輸入密碼訪問遠程服務器,在需要輸入密碼的定時任務腳本中很有用。
如果被管理的服務器比較多也可以編寫個腳本來復制公鑰。下面是一個復制公鑰到多個服務器上的腳本。
for i in $(seq 200 253)
do
ssh 192.168.159.$i -C mkdir /root/.ssh
scp ~/.ssh/id_rsa.pub 192.168.1.$i:/root/.ssh/authorized_keys
done
【注意事項1】
非默認端口的問題
與本地ssh端口無關,只與遠程端口有關,使用-P參數來指點端口,端口的指定要放在scp命令和host1之間.
正確的scp指定端口方法『注意:1.是大寫的P,2.在scp之后,第一個host之前』
scp -P 58422 ~/.ssh/id_rsa.pub wwwftp@192.168.1.119:/home/wwwftp/.ssh/authorized_keys
正確的ssh指定端口方法『注意:1.是小寫的p,2.在host之后』
ssh wwwftp@192.168.1.119 -p58422
【注意事項2】
scp: /home/wwwftp/.ssh/authorized_keys: No such file or directory
出現以上錯誤,是由于遠程服務器上新建好的用戶默認沒有.ssh目錄,需要自己建立。
使用新用戶登錄,或者在root下:su
mkdir -p ~/.ssh
【注意事項3】
scp: /home/wwwftp/.ssh/authorized_keys: Permission denied
是因為在解決【注意事項2】時,使用的是root用戶新建的.ssh目錄,導致沒有權限。改變用戶屬主就行。
chown -R wwwftp:wwwftp .ssh
總結
以上是生活随笔為你收集整理的linux批量管理服务,通过PSSH批量管理Linux服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统怎样指定gpu运行,lin
- 下一篇: linux ftp 后台执行,Linux