将 /etc/ssh/sshd_config 中的
 Subsystem      sftp    /usr/libexec/openssh/sftp-server 
 改为(没有这一行,就新添加)
 Subsystem       sftp    internal-sftp
重启sshd后,sftp正常工作了。
 sudo  /etc/init.d/sshd reload
 sudo  /etc/init.d/sshd restart
 
 但是原因仍然不知为何,回头看看,发现 /usr/libexec/openssh/sftp-server 没有任何权限:
 # ll /usr/libexec/openssh/sftp-server
 ----------. 1 root root 63544 2月  22 2013 /usr/libexec/openssh/sftp-server
 正常情况应该是这样:
 # ll /usr/libexec/openssh/sftp-server
 -rwxr-xr-x. 1 root root 63544 Nov 23  2013 /usr/libexec/openssh/sftp-server
 咨询大师说 停止openssh 服务 rm sftp-server文件  正常的scp 过去 再启动openssh
 但是我是远程操作,生产系统,不敢停止openssh服务,万一连不上就瓜了,大师建议那就先这样用着。
Note:/usr/libexec/openssh/sftp-server没任何权限,root用户都没法删除修改。