如何在CentOS上使用SFTP客户端
导读:在CentOS上使用SFTP客户端 一 准备与安装 大多数 CentOS 已内置 OpenSSH 客户端,可直接使用 sftp 命令。若未安装,执行: CentOS 7:sudo yum install -y openssh-clien...
在CentOS上使用SFTP客户端
一 准备与安装
- 大多数 CentOS 已内置 OpenSSH 客户端,可直接使用 sftp 命令。若未安装,执行:
- CentOS 7:sudo yum install -y openssh-clients
- CentOS 8/Stream:sudo dnf install -y openssh-clients
- 如需作为 SFTP 服务器提供上传下载,还需安装并启动 OpenSSH 服务器:sudo yum/dnf install -y openssh-server;sudo systemctl start sshd;sudo systemctl enable sshd。
- 确保防火墙放行 SSH 端口 22:sudo firewall-cmd --permanent --add-service=ssh;sudo firewall-cmd --reload。
二 连接与常用命令
- 基本连接:
- sftp user@hostname(默认端口 22)
- 指定端口:sftp -oPort=2222 user@hostname 或 sftp -P 2222 user@hostname
- 会话内常用命令:
- 目录与文件:pwd(远端)、lpwd(本地)、ls(远端)、lls(本地)、cd、lcd
- 传输:put localfile [remotefile]、get remotefile [localfile]
- 其他:mkdir、rm、!command(在本地执行命令)、help、exit/quit
- 提示:put/get 默认作用于当前工作目录;如需递归上传目录,可结合 shell 循环或使用其他工具(见下文批量/自动化)。
三 免密登录与自动化备份
- 生成密钥:ssh-keygen -t rsa -b 4096
- 分发公钥:ssh-copy-id user@remote_host(之后连接无需输入密码)
- 简单备份脚本示例(使用 SFTP 交互式批处理):
- 创建脚本 backup.sh:
#!/bin/bash LOCAL_DIR="/path/to/local/backup" REMOTE_USER="user" REMOTE_HOST="remote_host" REMOTE_DIR="/path/to/remote/backup" mkdir -p "$LOCAL_DIR" sftp "$REMOTE_USER@$REMOTE_HOST" < < EOF cd "$REMOTE_DIR" put "$LOCAL_DIR"/* bye EOF echo "Backup completed." - 赋权与定时:chmod +x backup.sh;crontab -e 添加如:0 2 * * * /path/to/backup.sh
- 创建脚本 backup.sh:
- 如需完全非交互(不推荐在脚本中明文写密码),可用 expect 自动化输入密码,或优先采用 SSH 密钥方式。
四 服务器端安全与仅SFTP访问配置
- 编辑 /etc/ssh/sshd_config,推荐使用内置子系统并限制仅 SFTP:
Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no - 创建受限用户与目录(示例):
- 建组:sudo groupadd sftpusers
- 建用户并加入组:sudo useradd -m -G sftpusers sftpuser;sudo passwd sftpuser
- 目录与权限(Chroot 要求根目录属主为 root 且权限 ≤ 755):
sudo chown root:sftpusers /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo mkdir -p /home/sftpuser/upload
sudo chown sftpuser:sftpusers /home/sftpuser/upload
- 使配置生效:sudo systemctl restart sshd;如需排查,查看 /var/log/secure。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在CentOS上使用SFTP客户端
本文地址: https://pptw.com/jishu/759238.html
