文档章节

PHP sftp 上传文件失败 但可以创建目录

dubox
 dubox
发布于 05/18 17:59
字数 265
阅读 91
收藏 0

最近一个项目需要使用 sftp 上传文件,在网上找了段代码,开发和测试都没有问题,上线之后问题来了:

不能上传文件了,但是创建目录可以成功,很是费解;

于是尝试 ssh2_exec() 用命令上传,收到错误提示:This service allows sftp connections only.

于是恍然大悟,因为前面上传使用的是 ssh2_scp_send()函数   这个函数相当于是用 scp 命令上传文件,所以上传不成功,而创建目录是 ssh2_sftp_mkdir() 所以创建目录没有问题;

于是只能改用 fopen 上传了;

至于出现“This service allows sftp connections only.”的原因应该是,

服务端/etc/sshd_config文件的设置问题:

AllowTcpForwarding 应该设置为yes才可。

如果没有设置为yes的话,用户就只能通过sftp访问指定目录,而且不能进行ssh登录.

只有把 AllowTcpForwarding no 改为 AllowTcpForwarding yes ,用户才能通过ssh登录然后访问目录。

© 著作权归作者所有

共有 人打赏支持
dubox
粉丝 3
博文 94
码字总数 27160
作品 0
西安
程序员
私信 提问
配置linux用户实现禁止ssh登陆但可用sftp登录

构想和目标 最近有个这样的诉求:基于对线上服务器的保密和安全,不希望开发人员直接登录线上服务器,因为登录服务器的权限太多难以管控,如直接修改代码、系统配置,并且也直接连上mysql。因...

898009427
07/25
0
0
CentOS安装SFTP

服务器以centOS为例. 首先为什么要搭建sftp?答案:允许某些用户上传及下载文件,但是这些用户只能使用sftp传送文件,不能使用SSH终端访问服务器,而且sftp不能访问系统文件 创建sftp组 添加一个...

eatnothing
2016/12/01
27
0
Linux命令之sftp - 安全文件传输命令行工具

用途说明 sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多。 常用方式 格式:sftp 通过sftp连接...

898009427
2017/12/14
0
0
Ubuntu Server如何配置SFTP(建立用户监狱)

SSH File Transfer Protocol是一个比普通FTP更为安全的文件传输协议。(参考资料:http://en.wikipedia.org/wiki/SSHFileTransfer_Protocol)它工作在Secure Shell(SSH)上,确保文件被加密...

BearCatYN
2015/08/25
0
0
centos7中实现chroot限制ssh及sftp至指定目录

背景:在vcenter6.5中创建两个虚拟机,如下图, 目的:创建一名用户同时能够实现chroot来限制ssh及sftp至指定目录,可以实现系统安全。 其中,我们将在pool-test(ip:172.16.6.11)中进行配置...

lefteva
2017/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
3
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
1
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
3
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
3
0
聊聊storm trident batch的分流与聚合

序 本文主要研究一下storm trident batch的分流与聚合 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout) .p......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部