現在要添加ssh的認證密鑰免去每次ssh登錄服務器要輸入用戶名和密碼
<!-- @page { size: 21.59cm 27.94cm; margin: 2cm } P { margin-bottom: 0.21cm } -->
第一步:生成密匙對,我用的是 rsa的密鑰。使用命令 "ssh-keygen -t rsa"
第二步:把生成的密鑰傳到你要登錄的服務器的 /root/.ssh/authorized_keys
scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys
這樣你下次登錄對方服務器就可以不需要用戶名和密碼
下面我們就來講講同時對多個服務器進行操作,比如我服務器A上有一個文件包,要傳到其他的14個地市服務器
因爲現在SSH不需要用戶名和密碼就可以這樣實現
for host in host1 host2 host3 ...
do
scp <filelist> "$host:/path/to/destination"
done
for host in 134.165 134.167.4 34.1638 1364.80 1 134.4.180 3.6.131.71 10.1.200 13.72 134.16 17.34 13
436 13.1. ;
do
scp /opt/wifioss/node.tgz root@$host:/opt/wifioss/node.tgz;
done
統一升級地市採集: MY SOLUTION
第一:生成上述 rsa的密鑰對,並scp到地市的/root/.ssh/authorized_keys中
第二:在/etc/hosts中添加對應各地市名陳的host與名陳對應
122.2.2.2 changde
122.3.3.3 zhuzhou
122.4.4.4 changsha
……
第三:通過循環完成對各個地市的採集補丁升級
for host in changde changsha chenzhou hengyang huaihua jishou loudi shaoyang xiangtan yiyang yongzhou yueyang zhuzhou; do ssh $host 'cd /opt/wifioss/node;tar xvf patch0928.tgz;make'; done
地市A日誌:src/monet/monet_util.erl
(cd src;make)
make[1]: Entering directory `/opt/wifioss/node/src'
(cd core;make)
make[2]: Entering directory `/opt/wifioss/node/src/core'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/wifioss/node/src/core'
(cd cron;make)
……
地市B日誌:
src/monet/monet_util.erl
(cd src;make)
make[1]: Entering directory `/opt/wifioss/node/src'
(cd core;make)
make[2]: Entering directory `/opt/wifioss/node/src/core'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/wifioss/node/src/core'
(cd cron;make)
make[2]: Entering directory `/opt/wifioss/node/src/cron'
……
……
這樣就完成了對14個地市採集補丁的統一升級