有个同事报错说139.196.14.的sftp不能登录,
sudo /etc/init.d/sshd status
发现sshd是running的,但是登录失败,ssh到这台机器是可以的,
下面找一下原因:
sudo tail /var/log/secure
Jul 27 15:26:31 iZuf66377q7u5teyfg3t6nZ sshd[582]: subsystem request for sftp
Jul 27 15:26:31 iZuf66377q7u5teyfg3t6nZ sshd[582]: error: subsystem: cannot stat /usr/lib/openssh/sftp-server: No such file or directory
Jul 27 15:26:31 iZuf66377q7u5teyfg3t6nZ sshd[582]: subsystem request for sftp failed, subsystem not found
可以看出是没有sftp-server的目录。
我们找一下sftp-server的路径地址
sudo locate sftp-server /usr/libexec/openssh/sftp-server /usr/share/man/man8/sftp-server.8.gz
然后打开配置:
vi /etc/ssh/sshd_config
将Subsystem sftp /usr/lib/openssh/sftp-server
改成Subsystem sftp /usr/libexec/openssh/sftp-server
然后reload一下sshd
sudo /etc/init.d/sshd reload