貼段腳本...Linux命令批量執行,免密碼登錄配置

一: 貼個腳本,主要實現兩個功能;

  1. 配置集羣免密碼登錄

  2. 可以遠程批量執行命令

#!/bin/bash 
case $1 in # 獲取option 
-cp | --cpoy)  #判斷option
        for ip_list in `cat $2`;do  #讀取$2文件每一行,將ip密碼信息存入ip_list變量
        ip=`echo $ip_list | cut -d: -f1` #提取ip
        ps=`echo $ip_list | cut -d: -f2` #提取密碼
            expect -c"                   
            spawn scp -r /root/.ssh/  $ip:  #直接拷貝.ssh目錄,配置免密碼登錄
            expect {       
                \"*password*\" {send \"$ps\r\";exp_continue}
                \"*password*\" {send \"$ps\r\";}
            }
           "
       done
;;
-c  | --cmd)
        for ip_line in `cat $2`;do
        ip=`echo $ip_line| cut -d: -f1`
            if [[ "$4" = \h ]];then
                echo -e "\033[33m $ip: \033[0m" 
                ssh $ip $3
            else
            echo -e "\033[33m $ip: \033[0m" `ssh $ip $3`
            fi
        done
;;
-h | --help )
echo -e "\e[1;32m  Please create a IP Password file in advance: \e[0m"
echo -e "\e[1;32m  $0 -cp,--copy  ip.txt  \e[0m"
echo -e "\e[1;32m  $0 -c,--cmd  ip.txt 'cmd' and \h \e[0m"
;;
esac

二: 使用方法

主要和存儲有ip和密碼信息的文件配合使用(自己創建);

例如ip.txt的格式:

root@test01:~/lijp# cat  ip.txt 
192.168.7.1:123456
192.168.7.2:123456
192.168.7.3:123456
192.168.7.4:123456
192.168.7.5:123456
......

三: 示例

1. 執行命令

root@test01:~/lijp# ./script-shell_main.sh -c ip.txt  hostname
 192.168.7.1:  test01
 192.168.7.2:  test02
 192.168.7.3:  test03
 192.168.7.4:  test04
 192.168.7.5:  test05
 ....

2. 配置免密碼登錄(就是cp .ssh/ 目錄)

root@test01:~/lijp# ./script-shell_main.sh -cp ip.txt 
spawn scp -r /root/.ssh/ 192.168.7.1:
known_hosts                                                                                                    100%   16KB  16.2KB/s   00:00    
authorized_keys2                                                                                               100%  396     0.4KB/s   00:00    
id_rsa1.pub                                                                                                    100%  393     0.4KB/s   00:00    
authorized_keys                                                                                                100%  777     0.8KB/s   00:00    
id_rsa.pub                                                                                                     100%  396     0.4KB/s   00:00    
id_rsa                                                                                                         100% 1675     1.6KB/s   00:00    
config                                                                                                         100%   32     0.0KB/s   00:00    
spawn scp -r /root/.ssh/ 192.168.7.2:
known_hosts                                                                                                    100%   16KB  16.2KB/s   00:00    
authorized_keys2                                                                                               100%  396     0.4KB/s   00:00    
id_rsa1.pub                                                                                                    100%  393     0.4KB/s   00:01    
authorized_keys                                                                                                100%  777     0.8KB/s   00:00    
id_rsa.pub                                                                                                     100%  396     0.4KB/s   00:00    
id_rsa                                                                                                         100% 1675     1.6KB/s   00:00    
config                                                                                                         100%   32     0.0KB/s   00:00    
spawn scp -r /root/.ssh/ 192.168.7.3:
known_hosts                                                                                                    100%   16KB  16.2KB/s   00:00    
authorized_keys2                                                                                               100%  396     0.4KB/s   00:00    
id_rsa1.pub                                                                                                    100%  393     0.4KB/s   00:00    
authorized_keys                                                                                                100%  777     0.8KB/s   00:00    
id_rsa.pub                                                                                                     100%  396     0.4KB/s   00:00    
id_rsa                                                                                                         100% 1675     1.6KB/s   00:00    
config                                                                                                         100%   32     0.0KB/s   00:00    
spawn scp -r /root/.ssh/ 192.168.7.4:
known_hosts                                                                                                    100%   16KB  16.2KB/s   00:00    
authorized_keys2                                                                                               100%  396     0.4KB/s   00:00    
id_rsa1.pub                                                                                                    100%  393     0.4KB/s   00:00    
authorized_keys                                                                                                100%  777     0.8KB/s   00:00    
id_rsa.pub                                                                                                     100%  396     0.4KB/s   00:00    
id_rsa                                                                                                         100% 1675     1.6KB/s   00:00    
config                                                                                                         100%   32     0.0KB/s   00:00

目錄cp完,即可免密碼ssh遠程主機

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章