sftp
(Secure File Transfer Protocol)是基于 SSH 协议的安全文件传输工具,用于在本地和远程服务器之间安全地传输文件,同时支持交互式操作。
TFTP
(Trivial File Transfer Protocol)是一种简单的文件传输协议,基于 UDP,常用于无盘系统或网络设备(如路由器、交换机)的固件升级。
一、sftp
1. 指定端口连接(默认 22)
sftp -P 端口号 用户名@服务器地址
# 示例:连接到非默认端口2222
sftp -P 2222 user@server.com
2. 使用私钥认证(免密码)
sftp -i 私钥文件 用户名@服务器地址
# 示例:使用id_rsa私钥
sftp -i ~/.ssh/id_rsa user@remote
3. 常用连接参数
参数 | 作用 |
---|
-P | 指定 SSH 端口(首字母大写)。 |
-i | 指定私钥文件路径。 |
-o | 传递 SSH 配置参数,如-o StrictHostKeyChecking=no (跳过主机密钥检查)。 |
-b | 从文件读取命令批处理(Batch mode)。 |
-C | 启用压缩传输(Compression),减少带宽使用。 |
-l | 本地端口转发(Local port forwarding)。 |
4. 交互式命令(登录后使用)
1. 导航命令(类似 Linux 文件操作)
命令 | 作用 | 示例 |
---|
pwd | 查看远程当前目录 | pwd |
cd 目录 | 切换远程目录 | cd /home/user |
lpwd | 查看本地当前目录 | lpwd |
lcd 目录 | 切换本地目录 | lcd ~/downloads |
ls [远程目录] | 列出远程文件(支持通配符) | ls /var/log/* |
lls [本地目录] | 列出本地文件 | lls docs/*.txt |
2. 文件传输命令
命令 | 作用 | 示例 |
---|
get 远程文件 | 下载远程文件到本地 | get /config.conf |
get -r 远程目录 | 递归下载目录(需服务器支持) | get -r /www/html |
put 本地文件 | 上传本地文件到远程 | put ./script.sh |
put -r 本地目录 | 递归上传目录 | put -r ./project/ |
mget 模式 | 批量下载匹配模式的文件 | mget logs/*.log |
mput 模式 | 批量上传匹配模式的文件 | mput data/*.csv |