记录 SFTP 的常用指令, 省去开启文件传输软件的麻烦
FTP,即文件传输协议,是一种流行的、未加密的在两个远程系统之间传输文件的方法。 截至 2022 年,由于缺乏安全性,它已被大多数现代软件弃用,并且大多只能用于历史遗留下来应用程序。
SFTP 是安全文件传输协议,是一种内置在 SSH 中的单独协议,可以通过安全连接实现 FTP 命令。 通常,它可以在仍然需要 FTP 服务器的任何环境中直接使用。
在几乎所有情况下,SFTP 都比 FTP 更可靠,因为它具有底层的安全特性和搭载 SSH 连接的能力。 FTP 是一种不安全的协议,只能在有限的情况下或在您信任的网络上使用。
如何连接 SFTP
使用几乎和 ssh 连接指令一样的形式来连接
1
2
3
4
5
6
#usage: sftp [-46AaCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
# [-D sftp_server_command] [-F ssh_config] [-i identity_file]
# [-J destination] [-l limit] [-o ssh_option] [-P port]
# [-R num_requests] [-S program] [-s subsystem | sftp_server]
# [-X sftp_option] destination
$ sftp user@host
使用方法
使用 help 或者 ? 来打印帮助
在 sftp 里输入的 shell 指令, 是针对远程服务器的, 如果想针对本地服务器, 则在指令前面加 l (local)
下载
1
2
3
4
5
6
7
8
# 下载文件
$ get filename
# 递归下载
$ get -r dir
# 指定下载名
$ get remoteFileName localFileName
# 保留文件权限
$ get -P filename
上传
1
2
3
4
5
6
# 上传文件
$ put filename
# 递归上传
$ put -r dir
# 指定上传名
$ put localFileName remoteFileName
在 sftp 里运行本地指令
使用 !前缀, 后面跟本地指令