禁用Winscp连接的解决办法

作者:fbysss
msn:[email protected] 
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:sshd sftp winscp

一、背景

    图片服务器上的图片、静态文件是通过构建工具自动上传的,目的是一切文件都通过svn来提交,而不要直接上传到图片服务器,因为那样没有更改记录,也不利于文件备份。

    这个问题,曾经干了一件蠢事,就是把ssh服务给停止了,的确好使,不过一旦SecureCRT终端关闭,下次也无法连接了。由于winscp有使用sftp,查了一下网上的说法。sftp不过是ssh的一个包装,并不是另外的协议,没有使用独立端口,要禁用sftp,不太容易。大多数人都说是修改/etc/ssh/sshd_config,把最后一句Subsystem sftp /usr/libexec/openssh/sftp-server注释掉,然后service sshd restart。但是,试了几次,winscp依然可以登录,很是郁闷。后来在linux下使用sftp命令测试,还就是真生效了。也就是说,这种修改,对linux下的sftp客户端是生效的,但对于winscp不好使。

二、思考

    是不是winscp的验证流程不一样呢?具体也不得而知,猜想:是不是注释掉之后,winscp会默认去找Subsystem sftp /usr/libexec/openssh/sftp-server执行,或者默认执行另一个可行的程序呢?那么我们引导一下它,会如何?

三、解决:

1.还原/etc/ssh/sshd_config

2.修改Subsystem sftp /usr/libexec/openssh/sftp-server为Subsystem sftp /usr/libexec/openssh/sftp-server.sh

3.vi Subsystem sftp /usr/libexec/openssh/sftp-server.sh

加入#Subsystem sftp /usr/libexec/openssh/sftp-server

4.chmod 755 /usr/libexec/openssh/sftp-server

然后再用winscp连接测试,提示错误:connection has been unexpectedly closed,Server send command exit status 0;而ssh客户端还可以正常连接,这说明,我们的目的达到了。

你可能感兴趣的:(Unix类)