scp免密传输方式
在集群服务中部署,需要将每个打包的文件拷到各个服务中,如果没有进行免密操作,每次都需要输入密码,比较麻烦,可通过以下方式进行。
1.生成源服务器的公钥文件
在源服务器的/root/.ssh下运行下面代码生成id_rsa(私钥)、id_rsa.pud(公钥)文件
ssh-keygen -t rsa
2.将id_rsa.pub(公钥)追加到目标服务器的/root/.ssh/authorized_keys文件中
如果没有authorized_keys文件,就创建 touch authorized_keys
cat id_rsa.pud >> authorized_keys
拷贝文件脚本
# /bin/bash
# 拷贝文件
backFile=/home/test/test.war
# echo "检查文件是否存在: $backFile"
if [-e $backFile];
then
echo "文件存在!"
echo "拷贝$backFile to 51"
scp $backFile root@192.168.1.2:/home/test
echo "拷贝到51成功!"
echo "拷贝$backFile to 3"
scp $backFile root@192.168.1.3:/home/test
echo "拷贝到3成功!"
else
echo "文件不存在:$backFile"
fi
# 如果有多个文件,将上面脚本追加一份就行
exit 0