Java远程拷贝和执行shell脚本

背景

项目中开发“一键安装”功能,需要用java调scp拷贝安装包以及调shell脚本进行安装部署

问题

功能没啥逻辑很简单,网上也是很多案例,但最后都是卡在sshpass -p xxx scp -r A to B,在java代码里一执行到这就报“Host key verification failed.”错误,于是去解决这个问题,后来发现ssh先连一下目的端,再执行就ok,其实前面的提示也很明显
但是开发这个功能的目的就是为了方便运维,不可能每次安装之前我先ssh目的端,所以这不是最终解决办法

解决

在scp后跟参数-o ConnectTimeout=3 -o StrictHostKeyChecking=no
完整命令:

sshpass -p 'xxxx' scp -P 22 -o ConnectTimeout=3 -o StrictHostKeyChecking=no -r /usr/local/data root@192.168.110.113:/data/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值