如何使用SFTP(SSH文件传输协议)
2020.03.26 -
FTP是在计算机之间传输文件和数据的标准方法,但是在当今注重安全性的环境中,FTP变得越来越过时。
SFTP(SSH文件传输协议)是一种更安全的文件传输方式。使用SSH协议,SFTP支持用于保护文件传输的加密和其他安全方法。这对于 VPS用户特别有用。它是唯一可防止数据传输过程中任何时刻受到攻击的文件传输协议,使其成为首选协议。
FTP有两个不同的通道来交换数据,命令通道和数据通道。相反,SFTP仅具有一个加密通道,在该通道中,数据以加密的格式化数据包进行交换。

使用SFTP
让我们学习基本的SFTP命令以及它们的用途。
使用SFTP连接到远程服务器
在Linux发行版上通过SFTP连接到远程服务器的语法为:
sftp用户@ip地址 sftp user@domain.com
如果我们想通过SFTP连接到IP 31.220.57.32的Linux VPS服务器,我们将使用以下命令:
sftp用户@ 31.220.57.32
系统将提示您输入密码,现在您已成功连接到远程服务器。
使用SFTP将文件从远程服务器传输到本地计算机
首先,让我们检查一下我们正在使用哪个本地目录和哪个远程目录。要进行检查,请键入以下命令:
sftp> lpwd 本地目录:/ printedhere
sftp> pwd 远程目录:/ printedhere
现在,让我们看看如何使用get命令将文件从远程服务器传输到本地计算机。get命令的基本语法为:
获取/remote-directory/filename.txt
例如,要将文件/ etc / xinetd .conf从远程服务器复制到本地计算机,可以使用以下命令:
获取/etc/xinetd.conf
下载之后,您现在可以发现文件xinetd .conf位于本地计算机的/ user / home目录中。
要下载多个文件,请使用mget命令。要下载名为/ etc的扩展名为.conf的目录中的所有文件,请使用以下命令:
mget /etc/*.conf
下载后,您可以在本地计算机的/ user / home目录中找到所有* .conf文件。
使用SFTP将文件从本地计算机传输到远程服务器
要将文件从本地计算机(已连接SFTP)复制到远程服务器,请使用get命令。get命令的语法为:
获取file.txt / RemoteDirectory
要将文件example.txt从本地计算机传输到远程计算机,请输入以下命令:
把/home/edward/example.txt / root
现在,我们将在目标计算机(远程服务器)的根目录中找到该文件。
您也可以尝试使用mput命令传输多个文件 。它的工作原理与mget几乎相同:
mput / home / edward / *。txt / root
此命令会将/ home / edward目录中所有扩展名为.txt的文件从本地计算机传输到远程计算机的/ root目录。
请记住,要下载和上传文件,您将需要键入put或get命令并按TAB键。
指令和功能
有许多类似的命令和功能,尤其是在查看Linux shell时。这是您可以使用的一些标准SFTP命令。
cd –更改远程主机上的目录
(退出) –关闭与远程主机的连接,然后退出SFTP
get –将文件从远程主机复制到本地计算机
mget –将多个文件从本地复制到远程
put –复制从本地计算机到远程主机的文件
mput –从本地复制多个文件到远程
重命名 –在远程主机
rm上重命名文件–在远程主机
帮助上删除文件(?) – SFTP命令
版本列表–显示SFTP版本
pwd –显示远程主机上的当前工作目录
lpwd –显示本地计算机上的当前工作目录
mkdir –在远程主机上创建目录
ls –列出远程主机上当前目录的内容
lls –列出本地计算机上当前目录的内容
chmod –更改远程主机上文件的权限
chown –更改远程主机上文件的所有者
而现在您了解了SFTP的基础知识。我们希望本教程对您有所帮助,并且这些命令将对您有所帮助。祝好运!