最近在使用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