ssh能够连接而sftp不能连接的解决方法

使用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了。

发表回复