最近在使用SFTP的时候遇到一个比较奇怪的问题。
Centos版本:
[*********** ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
SFTP本来可用,然而在安装完Oracle数据之后通过FileZilla连接主机时候提示(SSH是一直可用的):
错误: Received unexpected end-of-file from SFTP server 错误: 无法连接到服务器
在服务器上直接使用SFTP也不可以,登录之后直接提示connection closed,可以排除是远程连接问题。
这个问题找了一个好友求助未果,在百度上搜索也没有找到有价值的文章。
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
最后在一个博客上看到 可能是/usr/libexec/openssh/sftp-server权限的问题(那个博客现在访问不聊了...)。
ls -al /usr/libexec/openssh/sftp-server ,这个文件的权限果然是:------
然后用root 权限chmod 755修改权限,居然执行不了,提示: Operation not permitted
经过寻寻觅觅终于找到了:chattr 和 lsattr 指令
lsattr /usr/libexec/openssh/sftp-server
chattr -i /usr/libexec/openssh/sftp-server
奇葩的是: chattr这个命令服务器上居然没有,然后从其他服务器上拷贝了一个过来,万幸可以直接使用。
至此:SFTP问题解决。
延伸阅读:
chattr 和lsattr请参阅:
http://bbs.chinaunix.net/thread-1928470-1-1.html
http://blog.chinaunix.net/uid-24830931-id-3286268.html