php scp跨服器拷贝文件到sftp

16 篇文章 0 订阅

一般要装php的ssh2扩展,比较麻烦。所以转念一想,为什么不用我们经常用的scp。但是scp跨服务器拷贝需要输入密码,这里就用到了一个工具试试sshpass,可以指定密码。

1、工具安装

ubuntu安装:

sudo apt-get install sshpass

mac安装:

试了brew一直报错,这里用源码安装。

下载:

wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz 

解压:

tar xvzf sshpass-1.05.tar.gz

进入安装包:

cd sshpass-1.05

编译安装:

./configure
make&&make install

装完之后通过which sshpass找到路径

我这边路径是:/usr/local/bin/sshpass

配置完成之后就可以在php代码里面使用

exec('/usr/local/bin/sshpass -p your_password scp /deployment/1.txt your_name@your_host:your_path/1.txt');

注意这边的路径一定要用绝对路径,相对路径会报错。

对了还有密码不要放在代码里面,如果是laravel框架的话,要放在env中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值