Unix/Linux:从一台服务器到另一台服务器的sftp文件

时间:2020-01-09 10:43:39  来源:igfitidea点击:

如何使用机密文件传输协议(sftp)在Unix之类的操作系统(如操作系统)下将文件从一台服务器安全复制到另一台服务器?

sftp是类似于ftp的交互式文件传输程序,它通过加密的ssh传输执行所有操作。
将文件从一台服务器复制到另一台服务器的语法如下。

步骤1:启动sftp

启动sftp会话的命令如下:

sftp username@server1

或者

sftp [email protected]

首次连接到服务器时,sftp命令将报告无法建立主机的真实性。
这是正常现象,是正常现象。
这意味着sftp在其已知主机的数据库中没有服务器。
在提示符下回答是,以连接到服务器。
接下来,它将询问您的帐户密码。
输入密码,sftp将登录并显示sftp提示,如下所示:

sftp>

步骤2:sftp命令

sftp命令类似于用于导航文件的Unix/Linux shell命令。
您将使用两台服务器或者计算机。
因此,sftp将为您提供每个命令的本地和远程版本。
通常,所有本地命令都以l作为前缀。

常见的sftp命令

Sftp命令描述
cd dir将ftp服务器上的目录更改为dir。
lcd dir将计算机上的目录更改为dir。
ls列出ftp服务器上当前目录中的文件。
lls列出计算机上当前目录中的文件。
pwd在ftp服务器上打印当前目录。
lpwd在计算机上打印当前目录。
get file将文件从ftp服务器下载到当前目录。
put file将文件从您的计算机上载到ftp服务器。
exit从sftp程序中退出。

如何获取(下载)文件?

sftp中的get命令允许您从sftp服务器下载文件。
语法为:

get filename

要下载名为data.tar.gz的文件,请执行:

sftp> get data.tar.gz

输出示例:

Fetching /home/Hyman/data.tar.gz to data.tar.gz
/home/Hyman/data.tar.gz                                    100% 1960     1.9KB/s   00:01

如何放置(上传)文件?

将本地文件上传到ftp服务器的语法如下:

put file

在此示例中,上传一个名为Screenshot.png的文件,执行:

sftp> put Screenshot.png

输出示例:

Uploading Screenshot.png to /home/Hyman/Screenshot.png
Screenshot.png                                                    100%   12KB  12.2KB/s   00:00

如何从一台服务器A到另一台基于Unix的服务器B sftp?

首先使用ssh命令登录到服务器A:

$ ssh user@serverA

接下来,通过sftp到serverB:

$ sftp user@serverB

最后,将文件上传或者下载到serverB:

sftp> put foo
sftp> ls
sftp> get bar
sftp> lls
sftp> exit