FTP是在计算机之间传输文件和数据的标准方法,但在今天这个安全意识非常强的环境中,FTP变得越来越过时。

FTP是在数据安全不是一个大问题的时代设计的,FTP通过网络在不同的机器之间传输未加密的数据。任何能够在系统上执行包捕获的人都可以轻松地读取用户名和密码等有价值的信息,FTP中的这种安全漏洞导致了SSH文件传输协议(SFTP)的出现。

SFTP是一种通过SSH通道传输数据的方法,是SSH的一个子系统。这对VPS用户特别有用,它是唯一的文件传输协议,在数据传输过程的任何时刻都可以防止攻击,使其成为首选协议。

FTP有两个不同的通道来交换数据,命令通道和数据通道。相反,SFTP只有一个加密通道,其中数据以加密的格式化数据包交换。

Linux如何使用SFTP?

使用SFTP连接到远程服务器

通过Linux发行版上的SFTP连接到远程服务器的语法如下:

sftp user @ ip-address或domain.com

如果想通过SFTP连接到IP 31.220.57.32的Linux VPS服务器,将使用以下命令:

sftl user@31.220.57.32

执行此命令后,将成功连接到远程服务器。

使用SFTP将文件从远程服务器传输到本地计算机

使用get命令将文件从远程服务器传输到本地计算机,get命令的基本语法如下:

get /remote-directory/file.txt

要将/etc/xinetd.conf文件从远程服务器(31.220.57.32)复制到本地计算机,可以使用以下命令:

get /etc/xinetd.conf

下载之后,可以在本地机器的/user/home目录中找到xinetd.conf文件。

要下载多个文件,请使用mget命令,如果要下下载/etc目录中扩展名为.conf的所有文件,请使用以下命令。

mget /etc/*.conf

下载之后,可以在本地机器的/user/home目录中找到所有*.conf文件。

使用SFTP将文件从本地计算机传输到远程服务器

要将文件从本地计算机(已连接的SFTP)复制到远程服务器,请使用get命令,get命令的语法如下:

get file.txt /RemoteDirectory

下面是如何将example.txt文件从本地机器传输到远程机器的示例:

mput/home/edward/*.txt /root

在这里,我们将在目标机器的(远程服务器的)根目录中找到该文件。

还可以尝试使用mput命令传输多个文件,它的工作原理几乎与mget相同,如下:

mput / home / edward / * .txt / root

该命令将/home/edward目录中扩展名为.txt的所有文件从本地机器传输到远程机器的/根目录。

请记住,要下载和上传文件,需要输入put或get命令并按TAB键。

sftp>控制台中运行的命令与普通Linux命令非常相似。

总结

ls、cd、pwd和mkdir的工作方式与它们在Linux shell上的工作方式相似,可以使用lls和lpwd列出本地机器的文件和本地机器的工作目录,而ls和pwd用于查看文件和远程服务器的工作目录。