比如现有机器A 上有用户 gitlab-runner
文件服务器B fileserver@file.mchz.com.cn
现在需要做A复制文件到B
scp backend/target/*.tar.gz fileserver@file.mchz.com.cn:/home/fileserver/projects/bigdata/sourcedata
将上图文件内容复制到B机器的
然后再A机器ssh fileserver@file.mchz.com.cn 第一次登录 把B机器的host加到机器A
之后就可以在脚本里面做做文件拷贝无不登录了
同理有数据库服务器C 调用脚本执行
!/bin/bash
address=192.168.239.2
DATABASE_NAME=sourcedata
ssh dm@DATABASE_NAME > /home/dm/data_init.sql"
sftp dm@$address<<EOF
-get /home/dm/data_init.sql ./
quit
EOF
只需要把机器A的公钥拷贝到192.168.239.2的authorized_keys里面