SSH能连接上,但SFTP不能/无法连接的三个解决方案

本文介绍了如何通过locate命令定位sftp-server路径,修改sshd_config,以及清理known_hosts文件来解决SSH连接问题。步骤包括安装locate命令、修改配置、清空或重置known_hosts文件,并针对不同系统给出具体操作指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方法

输入命令

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服务再次使用客户端连接就正常了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值