在 Linux 中,SFTP(SSH File Transfer Protocol) 是基于 SSH 的安全文件传输工具。下面按「登录方式」和「常用命令」两部分说明。
sftp(最常用)交互式 SFTP 客户端
sftp user@host
sftp -P 2222 user@host # 指定端口
sftp -i key.pem user@host # 使用密钥登录
登录后进入 sftp> 交互界面。
scp(补充,非 sftp 但常用)基于 SSH 的文件拷贝
scp file.txt user@host:/path/
scp -r dir user@host:/path/
sftp 服务端相关通常不需要单独命令,由 SSH 提供:
# 查看 sftp 子系统
grep sftp /etc/ssh/sshd_config
常见配置:
Subsystem sftp internal-sftp
进入 sftp> 后可使用:
pwd # 远程当前目录
lpwd # 本地当前目录
ls # 远程目录列表
lls # 本地目录列表
cd 远程目录
lcd 本地目录
put file.txt # 上传文件
put -r dir # 上传目录
get file.txt # 下载文件
get -r dir # 下载目录
rm file.txt # 删除远程文件
rmdir dir # 删除远程目录
mkdir dir # 创建远程目录
rename old new # 重命名
chmod 644 file # 修改权限
chown user file # 修改属主
help # 查看帮助
bye / exit # 退出
!command # 执行本地命令(如 !ls)
sftp user@host <<EOF
put file.txt
get data.txt
bye
EOF
如果你需要:
可以继续问我。