一、scp 远程拷贝文件
服务器文件A ------->传输到服务器B
scp /app/back/jar/demo.jar root@${IP}:${PATH}
1、需要密码授权
2、配置免密传输
[root@d-server jar]# cd ~/.ssh/
[root@d-server .ssh]# ls
id_rsa id_rsa.pub known_hosts
#id_rsa 私钥
#id_rsa.pub 私钥
#没有公钥、私钥 执行命令
[root@d-server .ssh]# ssh-keygen -t rsa
之后输入密钥保存文件夹(默认路径~\.ssh\),密码(输入为空表示无密码),生成公钥私钥
[root@d-server .ssh]# ls
id_rsa id_rsa.pub known_hosts
3、将公钥传输到服务器B上
[root@d-server .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@${ip}
或直接复制公钥到该目录下并修改名字为authorized_keys
,主要确保该文件权限不能太高,并执行命令 chmod 600 authorized_keys
配置完成....
4.执行命令、传输完成
scp /app/back/jar/demo.jar root@${IP}:${PATH}
5.ssh远程执行文件脚本
ssh root@${IP} "cd ${PATH} && /bin/bash ./service.sh demo.jar restart"