第一种方法

输入命令

locate sftp-server
#如果提示无locate命令就安装
#apt install locate		ubuntu,debian
#yum install locate		centos

然后得到下面的信息输出

/usr/lib/sftp-server
/usr/lib/openssh/sftp-server
/usr/share/man/man8/sftp-server.8.gz

输入下面的命令把sshd配置文件修改掉

vim /etc/ssh/sshd_config
# override default of no subsystems
Subsystem       sftp    /usr/lib/openssh/sftp-server

把上面这个路径改为您刚刚用locate查到的路径,如果被注释掉了就删掉#,然后重启sshd

service sshd restart

第二个方法

iptablesufw的服务关掉之后再次尝试连接,如还失败请尝试第三种方法。

第三种方法

[ Linux ]下ssh保存的主机记录都是保存在这个路径下的

/home/用户名/.ssh/known_hosts
或者
/root/.ssh/known_hosts

使用vim命令把里面的内容全部删了,或者使用空环境变量填充文件内容
echo $null > /home/用户名/.ssh/known_hosts
或者
echo $null > /root/.ssh/known_hosts

[ Windows ]下的ssh保存的主机都是保存在这个路径下的

C:\Users\用户名\.ssh\konwn_hosts

直接删除这个文件

然后把服务器上的这个路径的文件也做同样的操作,重启sshd服务再次使用客户端连接就正常了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐