温馨提示×

ubuntu sftp为何连接失败

小樊
41
2026-09-08 07:54:21
栏目: 智能运维

Ubuntu 上 SFTP 连接失败的原因有很多,常见情况和排查方法如下:


一、最常见原因

1. SSH / SFTP 服务未开启

SFTP 依赖 ssh 服务。

检查是否安装并运行:

systemctl status ssh

若未运行:

sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh

2. 防火墙阻止 22 端口

sudo ufw status

若开启且未允许 SSH:

sudo ufw allow ssh
# 或
sudo ufw allow 22/tcp

云服务器还要检查 安全组 / 防火墙规则


3. 用户名或密码错误

  • 确认用户名存在:
cat /etc/passwd | grep 用户名
  • 确认密码正确(可重设):
sudo passwd 用户名

4. 用户被禁止登录

检查:

grep 用户名 /etc/passwd

shell 应为:

/bin/bash

若为 /usr/sbin/nologin/bin/false,SFTP(交互式)会失败。


二、SFTP 专属配置问题

5. sshd_config 限制了 SFTP

编辑:

sudo nano /etc/ssh/sshd_config

确保有:

Subsystem sftp internal-sftp

若做了 chroot,需确认路径权限正确(根目录必须属 root,且 755)。

修改后重启:

sudo systemctl restart ssh

6. 仅允许密钥登录

如果配置中有:

PasswordAuthentication no

则密码 SFTP 会失败,需要使用私钥。


三、客户端或网络问题

7. 端口不是 22

连接时需指定:

sftp -P 端口号 user@host

8. 客户端错误提示对应原因

  • Connection refused → 服务未开 / 端口错
  • Permission denied → 账号 / 密钥问题
  • Connection timed out → 网络 / 防火墙
  • broken pipe → chroot 配置错误

四、快速排查流程

ping 主机IP
ssh user@host
systemctl status ssh
sudo journalctl -u ssh

如果你愿意,可以把 具体报错信息(客户端提示或 /var/log/auth.log)发出来,我可以精确判断是哪一类问题。

0