一: 贴个脚本,主要实现两个功能;
配置集群免密码登录
可以远程批量执行命令
#!/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远程主机
转载于:https://blog.51cto.com/jiapeng/1738737