温馨提示×

怎样使用linux sftp

小樊
36
2026-09-17 04:36:34
栏目: 智能运维

在 Linux 下使用 SFTP(SSH File Transfer Protocol) 一般用来在本地和远程服务器之间安全地传输文件。下面从基本用法到常见操作给你一个完整说明。


一、连接 SFTP 服务器

1. 基本连接方式

sftp user@host

示例:

sftp root@192.168.1.100

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

sftp -P 2222 user@host

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


二、常用 SFTP 命令(在 sftp> 下使用)

1. 查看文件和目录

ls          # 查看远程目录
lls         # 查看本地目录
pwd         # 远程当前目录
lpwd        # 本地当前目录

2. 切换目录

cd /remote/path
lcd /local/path

3. 上传文件

put localfile
put localfile remote_name

上传整个目录(需要开启递归):

put -r localdir

4. 下载文件

get remotefile
get remotefile local_name

下载整个目录:

get -r remotedir

5. 删除文件

rm file
rmdir dir

6. 创建目录

mkdir dirname

7. 退出 SFTP

exit
# 或
bye

三、命令行直接使用(非交互模式)

1. 上传文件(一行命令)

sftp user@host:/remote/path <<< "put localfile"

或:

echo "put localfile" | sftp user@host

2. 下载文件

sftp user@host:/remote/file ./local_file

四、使用密钥登录(推荐)

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

确保:

  • 私钥权限为 600
  • 公钥已加入服务器 ~/.ssh/authorized_keys

五、常见问题

1. 连接慢 / 超时

  • 检查防火墙
  • 检查 SSH 服务是否运行
  • 使用 -v 查看详细信息:
sftp -v user@host

2. 权限不足

  • 确保用户对目标目录有写权限
  • 使用 sudo 的 SFTP 需要特殊配置(不推荐直接 root)

六、和 FTP / SCP 的区别(简要)

工具 安全性 交互性 说明
ftp 明文传输
sftp 基于 SSH
scp 只适合简单拷贝

如果你有具体场景(比如:自动备份、脚本批量传输、Windows 到 Linux),可以告诉我,我可以给你更针对性的示例。

0