本指南将探讨如何使用 sftp(SSH 文件传输协议),这是一个命令行程序,用于通过网络在两台 Linux 计算机之间安全地传输文件。
什么是 SFTP?
在定义 SFTP 之前,先退一步了解一下 SFTP 的前身 FTP(文件传输协议)是很重要的。
FTP 是一种网络通信协议,用于在网络上的两台计算机之间传输文件,通常是在服务器和客户端之间。
SFTP 是更安全的 FTP 版本。 它通过利用 SSH(安全外壳)协议加密两台计算机之间交换的数据来维护安全性。 另一方面,FTP 通过网络以纯文本形式传输数据。
SFTP 还可以帮助您和您的组织实现某些合规性法规,例如 GDPR 或 CCPA,这些法规要求以最安全的方式传输机密数据。
访问远程 PC
Linux主要允许您通过SFTP传输文件 sftp 程序。 Sftp 是一个强大的命令行软件,它允许您通过 SSH 安全和交互地传输文件。
您可以使用以下命令通过 sftp 连接到远程服务器。 记得替换占位符“用户名“ 和 ”远程 pc 的 ip 地址” 相应地使用服务器的正确用户名和 IP 地址。
sftp username@ip-address-of-remote-pc
Enter 如果出现提示,请输入服务器密码。 如果终端用 连接的 状态,表示您已成功建立连接。 闪烁的光标只是表明 sftp 处于交互模式。
笔记:如果您没有要与之交互的远程服务器,可以通过运行以下命令在本地尝试 sftp:
sftp 127.0.0.1
交互式 sftp 命令
进入交互模式后,您可以使用多个命令与远程 PC 进行交互。 下面概述了一些最重要的命令。 请注意,与大多数 Linux 命令不同,sftp 命令不区分大小写。
列出远程服务器上的文件
最重要的任务之一是列出目录中的文件,以便您了解要传输的内容。 您还可以获取远程 PC 的文件和文件夹信息,包括存储文件的大小和权限。
要列出远程 PC 上的文件,可以使用以下命令:
ls
您可以使用大多数 ls 命令标志,例如 -一种, -l等,他们会工作得很好。
要列出本地工作 PC 上的文件,可以使用以下命令:
lls
列出当前工作目录
您还可以使用以下命令输出远程 PC 上当前工作目录的路径 密码. pwd 命令代表 目前的工作目录.
pwd
要列出本地 PC 上的当前工作目录:
lpwd
使用 Ctrl + L 清除交互式终端输出的键盘快捷键。
上传文件到服务器
使用 放 命令将文件从本地 PC 传输到远程服务器。 为了 example,要从您的主文件夹传输 Linux Manjaro ISO 映像,请使用以下命令。 您可以使用 -R 标志以递归方式复制目录。
put manjaro-xfce-21.0.7-minimal-210614-linux54.iso
输出将类似于下面显示的输出。 Sftp 会实时显示文件传输的进度。
此外,由于没有指定远程服务器的文件路径,sftp 会将文件放在与本地 PC 相似的路径中。
如果要复制多个文件,请使用 输入 而是命令。 为了 example复制所有 Excel 目录中的电子表格 (XLS) 文件:
mput *.xls
要中断或停止将文件传输到服务器,您可以使用键盘快捷键 Ctrl + C.
从服务器下载文件
使用 得到 命令将文件从服务器下载到本地 PC。 为了 example复制一个名为 索引.html 从服务器,只需运行以下命令:
get index.html
要从服务器获取多个文件,请使用 管理 命令。 为了 example将所有 HTML 文件从服务器的当前工作目录复制到本地系统:
mget *.html
更改文件权限
您还可以使用 chmod 命令在交互式终端中更改远程服务器上文件的权限。 为了 example授予所有访问权限 索引.html 文件,运行以下命令:
chmod 777 index.html
Exit sftp 会话
要退出 sftp 交互式终端,只需键入命令 再见. 或者,您可以使用 出口 或者 辞职 命令也是如此。
获取命令行帮助
与其死记硬背命令,不如学习如何在需要时从命令行获取帮助。
Sftp 带有很好的文档。 只需键入以下任一命令即可在交互式终端窗口中获得帮助。
help?
SFTP的实际应用
本指南向您展示了如何使用 sftp 命令在 Linux 计算机之间以交互方式安全地传输数据。 如果您碰巧是 Raspberry Pi 用户,您可能也有兴趣了解将数据从 Raspberry Pi 传输到 PC 的不同方法。