试验环境:
Server:192.168.1.2
Client: 192.168.1.3、192.168.1.4
一、SHH密钥生成(server上的操作)
ssh-keygen ##一直回车
ssh-copy-id -i /root/.ssh/id_rsa 192.168.1.3 ##复制密钥文件到远程服务器
ssh-copy-id -i /root/.ssh/id_rsa 192.168.1.4
二、编写脚本 vim remotecopy.sh
#! /bin/sh while getopts f: OPT; do case $OPT in f|+f) files="$OPTARG $files" ;; *) echo "usage: `basename $0` [-f hostfile] <from> <to>" exit 2 esac done shift `expr $OPTIND - 1` if [ "" = "$files" ] ;then echo "usage: `basename $0` [-f hostfile] <from> <to>" exit fi for file in $files do if [ ! -f "$file" ] ;then echo "no hostlist file:$file" exit fi hosts="$hosts `cat $file`" done for host in $hosts; do echo "do $host" scp $1 root@$host:$2 done
chmod 764 remotecopy.sh
三、建立主机列表文件(就是客户机IP)
vim hostlist
192.168.1.3
192.168.1.4
192.168.1.* //可以添加N条
四、在server上执行脚本,传送文件。
./remotecopy.sh -f /usr/local/hostlist /usr/local/test /usr/local/
参数说明:
/usr/local/hostlist 主机列表文件路径
/usr/local/test 需要传送的文件
/usr/local/ 传到客户端的位置

