温馨提示×

怎样在 Ubuntu 用 SFTP

小樊
57
2026-09-11 06:17:42
栏目: 智能运维

在 Ubuntu 上使用 SFTP(SSH File Transfer Protocol) 通常有几种常见方式:命令行、文件管理器、以及图形化客户端。下面按使用场景给你说明。


一、命令行方式(最常用)

1. 基本连接

sftp 用户名@服务器IP

示例:

sftp user@192.168.1.100

如果是非默认端口(如 2222):

sftp -P 2222 user@192.168.1.100

连接成功后会进入 sftp> 提示符。


2. 常用 SFTP 命令

命令 说明
ls 查看远程目录
lls 查看本地目录
pwd 远程当前目录
lpwd 本地当前目录
cd 目录 切换远程目录
lcd 目录 切换本地目录
get 文件 下载文件
put 文件 上传文件
get -r 目录 下载目录
put -r 目录 上传目录
rm 文件 删除远程文件
mkdir 目录 创建远程目录
exit / bye 退出

示例:

put test.txt
get report.pdf

二、使用 Ubuntu 文件管理器(GUI)

1. 打开“文件”(Files)

2. 在地址栏输入:

sftp://用户名@服务器IP

示例:

sftp://user@192.168.1.100

回车后输入密码即可,像本地文件夹一样使用。


三、使用图形化工具(推荐)

1. FileZilla

安装:

sudo apt install filezilla

使用:

  • 主机:sftp://IP
  • 用户名 / 密码
  • 端口:22

2. WinSCP(Windows 用户连 Ubuntu 时常用)


四、服务器端准备(Ubuntu 作为 SFTP 服务器)

如果 Ubuntu 是服务器,需要确保:

sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

限制用户只能 SFTP(可选):

sudo nano /etc/ssh/sshd_config

添加:

Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp

然后重启:

sudo systemctl restart ssh

五、常见问题

  • 连接被拒绝:检查 SSH 是否启动、防火墙是否放行 22 端口
  • 权限不足:确认用户对目录有读写权限
  • 只能用 SFTP 不能 SSH:使用 ForceCommand internal-sftp

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

  • 是 Ubuntu 连服务器 还是 Ubuntu 做服务器
  • 是否使用 密钥登录
  • 是否需要 自动化脚本

我可以给你更具体的配置示例。

0 踩