亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

使用ssh client與bash scripts輕松管理多臺主機

2024-06-28 13:27:19
字體:
來源:轉載
供稿:網友
使用ssh client與bash scripts輕松管理多臺主機

當我們需要控制一個局域網中的很多臺服務器時,一個簡單的全局操作可能會被放大地異常繁瑣,這時我們就會需要新的工具來快速完成這種工作。

我們將使用ssh客戶端提供的一些工具來快速完成這一開發工作,我們的開發平臺是GNU/linux。

下面即是我們整個系統的鳥瞰圖:

第一個工具:

要建立非交互式的ssh連接,采用客戶端公鑰認證登錄的方式是一種很棒的方法。

第一個工具的功能是,將本地ssh客戶端的公鑰追加到各SlaveServers的/root/.ssh/authorized_keys文件中,以實現ssh公鑰登錄的認證。

具體實現如下:

SlaveServer.conf
1 #global var: glServerList2 glServerList="192.168.31.98 /3               192.168.31.3  /4               192.168.31.4  /5               192.168.31.5  /6               192.168.31.6"
RSAPublicKeyBroadCast.sh
 1 #!/bin/bash 2  3 . SlaveServer.conf 4  5 function SSH_RSAPublicKeyBroadCast () { 6   # $1 : sshd port like : 3198 7   ssh-keygen 8   declare RSApk_path=/root/.ssh/id_rsa.pub 9   declare clientRSApk=`cat ${RSApk_path}`10   declare i11   for i in $glServerList12   do13     echo "communicating via ssh with $i ... ..."14     ssh -o GSSAPIAuthentication=no -p "$1" root@${i} "mkdir ~/.ssh ; echo ${clientRSApk} >> ~/.ssh/authorized_keys"15   done16 }17 SSH_RSAPublicKeyBroadCast "$1"

其使用、驗證請看附錄。

第二個工具:

當我們需要將一個本地文件傳送到所有SlaveServer的一個相同路徑時,我們便需要一個工具來完成這樣的任務。

例如:當我們想統一調整所有SlaveServer的sshd服務的參數時,我們需要改變所有SlaveServer上的/etc/ssh/sshd_config文件,這時第二個工具將發揮它的威力。

具體實現如下:

FileBroadCast.sh
 1  #!/bin/bash 2  3 . SlaveServer.conf 4  5 function SSH_FileBroadCast () { 6 # $1 : sshd port like : 3198 7 # $2 : src :local file path like /etc/ssh/sshd_config 8 # $3 : dest: remote server file path like /etc/ssh/sshd_config  9 declare i10 for i in $glServerList11 do12   echo "communicating via ssh with $i ... ..."13   scp -o GSSAPIAuthentication=no -P "$1" "$2" root@${i}:${3}  14 done15 }16 17 SSH_FileBroadCast "$1" "$2" "$3"

其使用、驗證請看附錄。

第三個工具:

在完成第二個工具后,我們有了向所有SlaveServer傳送文件的能力,但是,如何向其所有發送"service sshd reload"命令呢?

于是,我們的第三個工具,CommandBroadCast入場。

具體實現如下:

CommandBroadCast.sh
 1 #!/bin/bash 2   3 . SlaveServer.conf 4  5 function SSH_CommandBroadCast () { 6 # $1 : sshd port like : 3198 7 # $2 : command like ' service sshd reload ' 8 declare i 9 for i in $glServerList10 do11   echo "communicating via ssh with $i ... ..."12   ssh -o GSSAPIAuthentication=no -p "$1" root@${i} "${2}"13 done14 }15 16 SSH_CommandBroadCast "$1" "$2"

其使用、驗證請看附錄。

第四個工具:

第三個工具可以讓我們控制所有的SlaveServer執行我們指定的一段命令,但是,如果我們想讓它們執行本地的一個bash腳本呢?

如此,第四個工具的功能是命令所有SlaveServer執行我們在本地定義的一個bash腳本文件。

具體實現如下:

AllSlaveExecLocalScripts.sh
#!/bin/bash. SlaveServer.conffunction SSH_RemoteServerExecLocalScripts () {# $1 remoteServerArgs like: root@192.168.31.2# $2 remoteServer SSH Daemon's port like: 3198# $3 local bash scripts you want the remoteServer to execdeclare tempFile=`mktemp` #local tmp declare remoteTmpDirif ssh -o GSSAPIAuthentication=no -p "$2" "$1" 'declare tempDir=`mktemp -d` ; chmod 700 $tempDir ; chown root:root $tempDir ; cd $tempDir ; unset tempDir ; pwd ' 1> $tempFile then  remoteTmpDir=`tail -1 $tempFile`  scp -o GSSAPIAuthentication=no -P "$2" "$3" ${1}:$remoteTmpDir 1>/dev/null  ssh -o GSSAPIAuthentication=no -p "$2" "$1" " bash ${remoteTmpDir}/* ; rm -fr ${remoteTmpDir} "  rm -f $tempFile  return 0else  rm -f $tempFile  echo "connect error:exit"  return 1fi}function SSH_BroadCastExecLocalScripts () {# $1 : sshd port like : 3198# $2 local bash scripts you want the remoteServer to execdeclare ifor i in $glServerListdo  echo "communicating via ssh with $i ... ..."  SSH_RemoteServerExecLocalScripts "$i" "$1" "$2"done  }SSH_BroadCastExecLocalScripts "$1" "$2"

至此,我們的四個工具已經開發完成,接下來請看附錄中的實驗展示。

附錄:

關于實驗環境的配置情況,請查看文章《構建一個完整的DNS系統》,這里不再贅述。

1.控制所有SlaveServer對192.168.31.2主機進行ssh公鑰登錄認證:

2.由于SlaveServer們的sshd參數設置問題,導致ssh登錄連接的建立“異常”緩慢,所以我們需要重新調整所有SlaveServer的sshd配置文件:

3.向所有SlaveServer發送'service sshd reload'命令:

4.命令所有SlaveServer執行本地主機192.168.31.2上的一個腳本:

ip_host.sh
1 #!/bin/bash2 3 declare host_ip=`ifconfig | grep -Eo 'inet addr:/<(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/>' | grep -Eo '/<(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/>' | head -1`4 5 echo "host ip is : $host_ip"6 7 mpstat

至此,我們的工具實驗展示結束。如有問題或建議,歡迎討論:)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美野外猛男的大粗鳮| 日韩美女在线播放| 国产丝袜一区二区三区免费视频| 国产成人在线亚洲欧美| 欧美日韩福利在线观看| 九九热精品视频在线播放| 成人国产精品久久久久久亚洲| 欧美理论电影在线观看| 日韩激情片免费| 岛国av在线不卡| 精品中文字幕视频| 亚洲黄色www| 国产在线视频2019最新视频| 亚洲一区二区三区四区视频| 色综合久久88色综合天天看泰| 国产精品亚洲自拍| 一区二区三区视频观看| 国产精品久久色| 国产亚洲欧美日韩精品| 精品久久久久久久久久| 国产精品亚洲综合天堂夜夜| 亚洲国产成人av在线| 97热在线精品视频在线观看| 国内精品小视频在线观看| 精品国产一区二区三区久久狼5月| 91色视频在线观看| 成人xxxxx| 正在播放国产一区| 国产成人精品在线观看| 少妇久久久久久| 亚洲sss综合天堂久久| 精品国产精品三级精品av网址| 欧美高清电影在线看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美一区二粉嫩精品国产一线天| 国产精品一区二区性色av| 91麻豆国产语对白在线观看| 欧美激情第6页| 欧美日韩美女视频| 国产一区二区丝袜| 亚洲视频一区二区| 91丝袜美腿美女视频网站| 日韩欧美在线字幕| 欧美黄色片在线观看| 91免费在线视频| 午夜精品免费视频| 国产精品视频午夜| 欧美贵妇videos办公室| 在线观看日韩视频| 国产亚洲欧洲高清| 亚洲视频第一页| 久久精品中文字幕| 国产999精品久久久影片官网| 亚洲精品成人免费| 九九久久国产精品| 亚洲国产欧美一区二区三区久久| 91精品国产综合久久男男| 欧美精品激情blacked18| 欧美午夜视频一区二区| 国产精品自拍偷拍视频| 亚洲人成网站在线播| 日韩在线激情视频| 日韩在线播放av| 欧美一级片久久久久久久| 精品在线小视频| 亚洲欧美在线看| 日本精品久久久久影院| 国产日产久久高清欧美一区| 欧美xxxx综合视频| 亚洲无亚洲人成网站77777| 51精品国产黑色丝袜高跟鞋| 国产精品高精视频免费| 亚洲精品一二区| 中文字幕国内精品| 91chinesevideo永久地址| 日韩中文字幕在线观看| 国内精品久久久久久久| 国产精品永久免费| 中文字幕久热精品视频在线| 色婷婷亚洲mv天堂mv在影片| 久久99国产精品久久久久久久久| 色偷偷av一区二区三区| 欧美激情按摩在线| 久久精品久久久久久国产 免费| 国产精品自拍小视频| 浅井舞香一区二区| 欧美综合第一页| 欧美一级大胆视频| 大荫蒂欧美视频另类xxxx| 欧美精品一区二区免费| 亚洲国产欧美日韩精品| 日韩精品高清视频| 91久久久国产精品| 亚洲精品suv精品一区二区| 国产精品第二页| 国产精品久久久久久搜索| 国产精品人成电影在线观看| 91久久久久久久久久久| 欧美在线激情视频| 欧美裸体xxxx| 国产精品热视频| 久久中国妇女中文字幕| 亚洲美女精品久久| 亚洲国产精久久久久久| 久久韩国免费视频| 欧美成人在线影院| 91精品国产综合久久久久久蜜臀| 国产精品福利网站| 国产精品欧美久久久| 日韩成人在线网站| 清纯唯美亚洲激情| 国产一区二区三区高清在线观看| 欧美电影在线观看高清| 亚洲国产高清高潮精品美女| 亚洲欧美日韩视频一区| 欧美激情欧美激情在线五月| 国语自产精品视频在线看一大j8| 日韩成人在线观看| 久久久91精品国产| 国产精品成熟老女人| 国产精品一区二区3区| 成人精品网站在线观看| 久久久成人的性感天堂| 欧美电影电视剧在线观看| 久久精品免费电影| 国产999精品| 伦理中文字幕亚洲| 欧美日韩人人澡狠狠躁视频| 国产精品一区二区三区毛片淫片| 日韩黄色av网站| 欧美高清视频在线观看| 亚洲最大的成人网| 久久成人在线视频| 神马国产精品影院av| 欧美日韩激情网| 欧美亚洲另类在线| 欧美在线亚洲在线| 色伦专区97中文字幕| 亚洲精品一区久久久久久| 欧美激情视频一区二区| 九九精品在线观看| 4438全国亚洲精品在线观看视频| 亚洲人线精品午夜| 日韩有码在线电影| 久操成人在线视频| 日本国产一区二区三区| 日本精品免费一区二区三区| 九九热这里只有精品6| 日韩中文在线不卡| 亚洲一区二区三区sesese| 国产精品久久久久久av福利软件| 成人免费视频网址| 色综合天天综合网国产成人网| 日韩av大片在线| 国产一区二区日韩精品欧美精品| 国产欧美亚洲精品| 中文日韩电影网站| 国产精品扒开腿做爽爽爽视频| 亚洲欧美国产一本综合首页| 欧美一区第一页| 国产日韩欧美在线观看| 91在线观看免费高清完整版在线观看| 日韩中文字幕视频在线| 国产精品爽爽爽爽爽爽在线观看|