【1.8.2.2】SFTP协议

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

(base) [root@g01 ~]# tail /var/log/messages

Feb  3 15:27:16 g01 sshd[110451]: error: no more sessions
Feb  3 15:27:16 g01 sshd[110513]: error: no more sessions
Feb  3 15:27:16 g01 sshd[110673]: error: no more sessions
Feb  3 15:27:16 g01 sshd[110823]: subsystem request for sftp by user sam failed, subsystem not found

可以看出是没有sftp-server的目录没有找到

(base) [root@g01 ~]#  locate sftp-server
/usr/libexec/openssh/sftp-server
/usr/share/man/man8/sftp-server.8.gz

locate一下ftp-server,发现目录跟配置文件中的不同

在sshd_config添加最后一行

vi /etc/ssh/sshd_config

# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server

reload一下sshd

systemctl restart sshd

就可以了。

二、讨论

If you want to count the files in a directory the directory path should be put after the ls -l command like

echo ls -l /my/directory/ | sftp server | grep -v '^sftp' | wc -l
药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn