温馨提示×

SFTP在Ubuntu上如何连接

小樊
41
2026-08-01 12:50:43
栏目: 智能运维

在 Ubuntu 上连接 SFTP(SSH File Transfer Protocol),常用方式有以下几种,从命令行图形界面都有。下面按常见场景说明。


一、前提条件

  1. 目标服务器已开启 SSH 服务

    sudo systemctl status ssh
    

    若未安装:

    sudo apt update
    sudo apt install openssh-server
    sudo systemctl enable ssh
    sudo systemctl start ssh
    
  2. 你知道以下信息

    • 服务器 IP 或域名
    • 用户名
    • 密码 或 SSH 私钥

二、命令行方式连接 SFTP(最常用 ✅)

1️⃣ 基本连接

sftp 用户名@服务器IP

示例:

sftp user@192.168.1.100

首次连接会提示:

Are you sure you want to continue connecting (yes/no)?

输入 yes

然后输入密码即可。


2️⃣ 指定端口(非 22)

sftp -P 2222 user@192.168.1.100

⚠️ 注意:

  • SFTP 用的是 大写 -P
  • SSH 是 -p

3️⃣ 使用 SSH 密钥登录

sftp -i ~/.ssh/id_rsa user@192.168.1.100

确保:

  • 私钥权限正确
chmod 600 ~/.ssh/id_rsa

三、SFTP 常用命令(连接后使用)

命令 说明
ls 查看远程目录
cd 切换远程目录
pwd 显示远程路径
lcd 切换本地目录
get 文件 下载文件
put 文件 上传文件
get -r 目录 下载目录
put -r 目录 上传目录
exit 退出

示例:

get test.txt
put backup.zip

四、使用图形界面连接(推荐新手)

1️⃣ 使用 FileZilla

sudo apt install filezilla

连接设置:

  • 协议:SFTP
  • 主机:服务器 IP
  • 用户名 / 密码
  • 端口:22(默认)

2️⃣ 使用 Nautilus(Ubuntu 文件管理器)

  1. 打开「文件」
  2. 点击「其他位置」
  3. 在底部输入:
    sftp://user@192.168.1.100
    
  4. 回车 → 输入密码

✅ 可像本地文件夹一样操作


五、常见问题排查

❌ 连接超时

  • 检查服务器是否开启 SSH
  • 检查防火墙
sudo ufw allow 22

❌ Permission denied

  • 用户名或密码错误
  • 私钥权限不对
  • 用户没有 SSH 登录权限

六、只允许 SFTP(禁止 SSH 登录,可选)

编辑:

sudo nano /etc/ssh/sshd_config

添加:

Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

如果你愿意,可以告诉我:

  • ✅ 你是 连接本地 Ubuntu 还是 云服务器
  • ✅ 是 命令行 / 图形界面
  • ✅ 是否使用 密钥登录

我可以给你更精确的配置步骤。

0