您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux中怎么使用sftp传输文件/文件夹
## 一、SFTP简介
SFTP(SSH File Transfer Protocol)是基于SSH协议的安全文件传输工具,相比传统的FTP具有以下优势:
- 加密所有传输数据
- 使用SSH默认端口22(无需额外开端口)
- 支持交互式和脚本化操作
- 保留文件属性和权限
## 二、基础连接方法
### 1. 基本连接语法
```bash
sftp [选项] [用户名@]主机名/IP地址
常用选项:
- -P port
:指定非默认SSH端口
- -i identity_file
:指定私钥文件
- -o option
:设置SSH参数
sftp user@192.168.1.100
# 输入用户密码后进入sftp>提示符
sftp -i ~/.ssh/id_rsa user@example.com
# 上传单个文件
put local_file.txt /remote/path/
# 上传时重命名
put local_file.txt /remote/path/new_name.txt
# 上传多个文件
put *.jpg /remote/path/
# 下载单个文件
get /remote/path/file.txt ~/local/
# 下载时重命名
get /remote/path/file.txt ~/local/new_name.txt
# 递归下载目录(需配合-r选项)
get -r /remote/dir/ ~/local/
# 查看远程目录
ls
lls # 查看本地目录
# 切换目录
cd /remote/path
lcd ~/local # 切换本地目录
# 创建目录
mkdir new_dir
lmkdir local_dir # 本地创建
# 上传整个目录
put -r local_dir /remote/path/
# 下载整个目录
get -r /remote/dir/ ~/local/
sftp -o "IPQoS=throughput" user@host # 限制为普通优先级
# 下载时恢复中断的传输
reget /remote/bigfile.zip
# 上传时恢复
reput large_file.iso
创建transfer.txt
:
put /local/path/file1.txt
put /local/path/file2.txt
get /remote/path/data.csv
exit
执行:
sftp -b transfer.txt user@host
#!/bin/bash
HOST="user@example.com"
PASS="your_password"
expect <<EOF
spawn sftp $HOST
expect "password:"
send "$PASS\r"
expect "sftp>"
send "put /local/file.txt /remote/\r"
expect "sftp>"
send "exit\r"
EOF
sftp -o ConnectTimeout=30 user@host # 设置超时时间
# 查看远程文件权限
ls -l /path/to/file
# 可能需要先创建目标目录
mkdir -p /remote/new/path
LANG=zh_CN.UTF-8 sftp user@host # 指定编码
虽然命令行足够强大,但以下GUI工具可能更适合初学者:
1. FileZilla:支持SFTP的跨平台客户端
2. Nautilus(GNOME文件管理器):支持sftp://
协议
3. Dolphin(KDE文件管理器):内置SFTP支持
4. WinSCP(Windows用户):优秀的SFTP图形客户端
/etc/ssh/sshd_config
中设置:
PermitRootLogin no
chroot_local_user=yes
sftp -C user@host
rsync over SSH
更可靠:
rsync -avz -e ssh /local/path/ user@host:/remote/path/
相关命令对比:
命令 | 协议 | 加密 | 端口 | 特点 |
---|---|---|---|---|
ftp | FTP | 否 | 21 | 传统文件传输 |
sftp | SSH | 是 | 22 | 安全文件传输 |
scp | SSH | 是 | 22 | 简单文件拷贝 |
rsync | SSH/RSYNC | 是 | 22 | 增量同步/断点续传 |
深入学习SSH:
man ssh_config
man sshd_config
通过掌握这些SFTP技巧,您可以安全高效地在Linux系统间传输文件,满足日常运维和开发需求。 “`
(注:实际字数约1450字,可根据需要删减部分章节或示例调整到1350字左右)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。