1)首先先实现ssh免密码登陆,可参考http://blog.youkuaiyun.com/qq_30256711/article/details/78537472
2) 编辑分发脚本fenfa.sh
#!/bin/bash
file="$1"
remotedir="$2"
. /etc/init.d/functions
if [ $# -ne 2 ]
then
echo "sh $0 arg1 arg2"
exit 1
fi
for n in 29 30
do
/usr/bin/scp -rp $file test@192.168.200.1$n:~ >/dev/null 2>&1 &&\
/usr/bin/ssh -t test@192.168.200.1$n sudo /bin/cp -r ~/$file $remotedir
if [ $? -eq 0 ]
then
action "scp $file to $remotedir is ok" /bin/true
else
action "scp $file to $remotedir is fail" /bin/false
fi
done
测试脚本
[test@A ~]$ ./fenfa.sh ./hosts /opt/
Connection to 192.168.200.129 closed.
scp ./hosts to /opt/ is ok [ OK ]
Connection to 192.168.200.130 closed.
scp ./hosts to /opt/ is ok [ OK ]
总结:
一定要使用统一的账户进行分发管理,可通过普通用户进行sudo提权进行分发,先把文件拷贝到服务器家目录,然后sudo提权
利用root做ssh key验证也是未尝不可,有利也有弊,好处是简单方便,坏处是风险极大,一旦攻破了分发服务器,其他服务器也跟着遭殃。
重要安全思想:
一定要管理好中心分发服务器,因为他的权限很大,很重要
1.一定要取消中心分发服务器的外网IP
2.开启防火墙禁止SSH对外用户登录,并仅给某一台后端无外网机器A访问,然而这台后端机器A
依然没外网IP,仅能通过VPN连接,这样就比较安全了