温馨提示×

CentOS SFTP如何传文件

小樊
40
2026-07-20 10:30:20
栏目: 智能运维

CentOS 上通过 SFTP 传输文件,常用方式有以下几种,按使用场景给你说明(从最常见到进阶)。


一、使用命令行 SFTP(本地 → CentOS / CentOS → 本地)

1️⃣ 登录 CentOS(前提:已开启 SSH)

sftp username@服务器IP

示例:

sftp root@192.168.1.100

✅ SFTP 默认使用 SSH 22 端口

如果 SSH 端口不是 22:

sftp -P 2222 username@服务器IP

2️⃣ 常用 SFTP 命令(进入后使用)

查看目录

pwd        # 远程目录
lpwd       # 本地目录
ls
lls

切换目录

cd /data
lcd /home/user

上传文件

put localfile.txt
put localfile.txt /remote/path/

上传目录(递归)

put -r localdir

下载文件

get remotefile.txt
get remotefile.txt /local/path/

下载目录(递归)

get -r remotedir

退出

bye

二、使用 scp 直接传输(更快、简单)

上传文件到 CentOS

scp localfile.txt username@服务器IP:/remote/path/

上传目录

scp -r localdir username@服务器IP:/remote/path/

下载文件

scp username@服务器IP:/remote/file /local/path/

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

✅ WinSCP(最常用)

  • 支持 SFTP
  • 图形界面
  • 支持拖拽上传

连接信息

  • 协议:SFTP
  • 主机:CentOS IP
  • 端口:22
  • 用户名 / 密码

✅ FileZilla

  • 选择 SFTP 协议
  • 端口:22

四、CentOS 上确认 SFTP 是否可用

1️⃣ 检查 SSH 服务

systemctl status sshd

2️⃣ 启动 SSH(如果没启动)

systemctl start sshd
systemctl enable sshd

3️⃣ 确认防火墙允许 22 端口

firewall-cmd --list-ports
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload

五、常见权限问题

上传失败:Permission denied

chmod 755 /目标目录
chown 用户名:用户组 /目标目录

或临时用:

sudo

六、仅允许 SFTP 不允许 SSH(进阶)

如果你需要 只让某个用户使用 SFTP,不能登录系统,可以配置 sshd_config

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

⚠️ 需要仔细配置权限,否则会登录失败。


七、总结(推荐方案)

场景 推荐方式
Linux ↔ Linux sftp / scp
Windows → CentOS WinSCP
服务器运维 SFTP + SSH
大文件 scp 或 rsync

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 是本机传服务器,还是服务器之间
  • ✅ 是否有 SSH 权限

我可以给你 精确命令和配置示例

0