当需要向树莓派发送文件时,可使用SFTP上传下载文件。下面介绍如何使用SFTP向树莓派发送下载文件。
基础知识
SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。
SFTP 为 SSH的其中一部分,是一种传输文件至服务器的安全方式。在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。
SFTP传输使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。
SFTP客户端程序
在Windows平台,常用的SFTP客户端程序有:
- FileZilla
- WinSCP
- Xftp
- Core FTP
在Linux平台,可直接使用sftp命令进行连接服务器。
基本操作
下面介绍在Debian平台使用sftp命令连接树莓派,在此之前应配置树莓派开启ssh服务。
- 建立连接
使用如下命令连接树莓派:
1 | sftp pi@192.168.0.103 |
- 查看帮助
通过help查看在sftp连接下能使用的命令。从帮助中可知,在命令前加前缀“l”或者“!”即可在本地操作系统shell执行命令。
1 | sftp> help |
下载远程文件到本地主机
使用get命令下载远程文件到本地主机:1
2
3sftp> get README.TXT
Fetching /home/pi/wiringPi/README.TXT to README.TXT
/home/pi/wiringPi/README.TXT 100% 606 39.1KB/s 00:00get命令还有一些有用参数,如递归选项“ -r ”来递归的复制一个文件夹里面的内容,“ -P ”或者“ -p ”参数来告诉 SFTP 保持文件的权限访问位的设置和访问时间。
上传本地文件到远程主机
使用“ put ”命令将文件上传到远程主机:1
2
3sftp> put README.TXT
Uploading README.TXT to /home/pi/README.TXT
README.TXT 100% 606 33.6KB/s 00:00” put “具有类似“ get ”的参数。例如,递归选项“ -r ”可以上传整个文件夹。
参考文献
- 华华. 手把手教你使用 SFTP 安全地传输文件.2015-12-5.