Unable to access SFTP sub-system, operation failed

解决方法:

1. 编辑 /etc/ssh/sshd_config 配置文件

2. 重启SSHD服务

service sshd restart

还有一种特殊情况,也是本文重点要介绍的:

当启用sftp-server后,使用FlashFXP等工具传输文件的时候,仍然失败,这时候就要用另外一种subsystem的类型了 .

把 /etc/ssh/sshd_config 配置文件注释掉的一行替换成以下内容

#替换的内容
Subsystem      sftp    internal-sftp

#重启sshd服务命令

service sshd restart

最后再次用FlashFXP连接linux(Redhat 6/CentOS 7环境)服务器即可正常连接. 

最后:关于Internal-sftp和Sfp-server之间到底有何关系,为什么要用internal-sftp,请参考如下 .

sftp-server和internal-sftp都是OpenSSH的一部分。 

sftp-server是一个独立的二进制文件, internal-sftp只是一个配置关键字,告诉sshd使用内置sshd的SFTP服务器代码,而不是运行另一个进程(通常是sftp-server)。

从功能的角度来看,sftp-server和internal-sftp几乎完全相同。 它们是使用相同的源代码构建的。

internal-sftp的主要优点是,当与ChrootDirectory指令一起使用时,它不需要任何支持文件。


几个例子:

1.管理员可能依赖登录shell配置来阻止某些用户登录。切换到internal-sftp会绕过限制,因为不再涉及登录shell。

2.使用sftp-server二进制文件(作为一个独立的进程),你可以使用一些hacks,比如在sudo下运行SFTP。

3.对于SSH-1(如果有人仍在使用它),则根本不涉及Subsystem指令,使用SSH-1的SFTP客户端明确告知服务器,服务器应运行什么二进制文件。 因此,传统的SSH-1 SFTP客户端具有硬编码的sftp服务器名称。

这边因为我给用户登陆脚本做了限制,所以发生了上述的问题,启用internal-sftp就可以完美的解决掉了。

参考文章:

FlashFXP连接linux服务器(centos7环境)提示连接失败 (Unable to access SFTP sub-system, operation failed.)-CSDN博客

【OpenSSH】internal-sftp和sftp-server之间的区别和联系什么? - 简书

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值