温馨提示×

CentOS SFTP如何传输文件

小樊
43
2026-08-30 01:23:53
栏目: 智能运维

CentOS 上使用 SFTP 传输文件,通常是通过 OpenSSH 自带的 sftp 命令图形化工具(如 FileZilla、WinSCP) 来完成。下面按常见场景详细说明。


一、使用命令行 SFTP(最常用)

1️⃣ 连接服务器

sftp 用户名@服务器IP

示例:

sftp root@192.168.1.100

首次连接会提示:

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

输入 yes 并回车。


2️⃣ 常用 SFTP 命令

操作 命令
查看远程目录 ls
查看本地目录 lls
切换远程目录 cd /path
切换本地目录 lcd /path
上传文件 put 文件名
上传目录 put -r 目录名
下载文件 get 文件名
下载目录 get -r 目录名
查看帮助 help
退出 exitquit

3️⃣ 上传文件示例

sftp> lcd /tmp
sftp> cd /data
sftp> put test.txt

✅ 将本地的 /tmp/test.txt 上传到服务器的 /data/


4️⃣ 下载文件示例

sftp> get /data/test.txt

✅ 下载到当前本地目录


二、一条命令完成传输(非交互)

上传文件

sftp 用户名@服务器IP:/目标路径 <<EOF
put 本地文件
EOF

示例:

sftp root@192.168.1.100:/data <<EOF
put test.txt
EOF

三、使用 scp(比 sftp 更简单)

如果只是传文件,推荐直接用 scp

上传

scp test.txt root@192.168.1.100:/data/

下载

scp root@192.168.1.100:/data/test.txt ./

四、使用图形化工具(Windows 用户推荐)

✅ FileZilla

  1. 协议选择 SFTP
  2. 主机:服务器IP
  3. 用户名 / 密码
  4. 端口:22
  5. 直接拖拽文件传输

✅ WinSCP

  • 支持 SFTP
  • 界面类似资源管理器
  • 适合不熟悉命令行的用户

五、CentOS 开启 SFTP 服务(重要)

CentOS 默认已安装并启用 SSH,无需额外配置。

检查服务状态:

systemctl status sshd

启动 / 开机自启:

systemctl start sshd
systemctl enable sshd

防火墙放行 SSH:

firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload

六、常见问题

❓ SFTP 和 FTP 一样吗?

❌ 不一样:

  • SFTP = SSH + 文件传输(安全)
  • FTP = 明文传输(不安全)

❓ 上传失败提示 Permission denied?

chmod 755 目录
chown 用户 目录

七、总结

推荐方式

  • 服务器之间:scp / sftp
  • Windows 管理服务器:WinSCP
  • 自动化脚本:sftp + here document

如果你需要:

  • 只允许 SFTP 禁止 SSH
  • 配置 chroot 限制用户目录
  • 使用密钥登录 SFTP

可以继续告诉我你的 CentOS 版本(7 / 8 / Stream),我可以给你定制配置方案。

0