使用xshell从命令行切换到sftp时出现错误为:
sftp subsystem request is rejected.
please make sure that sftp subsystem is properly installed in ssh server.
下面找一下原因:
[root@bogon ~]# tail /var/log/secure
Feb 23 16:29:48 localhost sshd[2989]: subsystem request for sftp
Feb 23 16:29:48 localhost sshd[2989]: subsystem request for sftp failed, subsystem not found
可以看出是没有sftp-server的目录没有找到
我们找一下sftp-server的路径地址:
[root@bogon ~]# locate sftp-server
/usr/libexec/openssh/sftp-server
/usr/share/man/man8/sftp-server.8.gz
然后打开配置:
[root@bogon ~]# vi /etc/ssh/sshd_config
将
# override default of no subsystems
# Subsystem sftp /usr/libexec/openssh/sftp-server
替换成
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
或者替换成(我的问题是下面这个方法解决的)
# override default of no subsystems
Subsystem sftp internal-sftp
ok,重新load一下sshd.
[root@bogon ~]# /etc/init.d/sshd reload
重新连接发现OK了。