如何使用SFTP安全地下载和上传文件

时间:2019-05-19 01:25:54  来源:igfitidea点击:

SFTP (SSH文件传输协议)是用于在本地和远程服务器之间传输文件的安全协议。
需要在远程系统上运行SSH服务器。
该协议对本地和远程系统之间的数据传输进行加密。
由于SFTP提供了安全的数据传输,所以我们建议它优于FTP协议。
建议使用SFTP,但如果我们仅在远程运行FTP服务器,请使用下面的链接进行FTP访问。

连接SFTP服务器:

SFTP连接到ssh服务器。
我们必须让ssh服务器在远程系统上运行。
使用以下命令作为用户Hyman连接example.com服务器。

$ sftp Hyman@theitroad

使用不同的端口连接

$ sftp -P 2222 Hyman@theitroad

身份验证成功后,我们将看到一个sftp提示符。
你可以安全地下载或上传文件。
要获得可用的命令,请在sftp提示符上键入“help”。

sftp> help 

Available commands:
bye                         Quit sftp
cd path                     Change remote directory to 'path'
chgrp grp path              Change group of file 'path' to 'grp'
chmod mode path             Change permissions of file 'path' to 'mode'
chown own path              Change owner of file 'path' to 'own'
df [-hi] [path]             Display statistics for current directory or
...
...

更改本地和远程目录

首先使用以下命令检查本地和远程服务器目录。

sftp> !pwd
/home/ubuntu

sftp> pwd
/home/Hyman

!pwd用于检查本地系统的当前目录
pwd远程系统上的当前目录

现在在本地和远程sftp系统上的目录之间切换。

sftp> lcd /home/ubuntu/Downloads

sftp> cd Uploads

lcd-用于在本地系统上的目录之间切换
cd- 用于在远程系统上的目录之间切换

从SFTP下载文件

使用' get '命令从sftp服务器下载文件到本地系统驱动器。
使用“lcd”更改本地下载文件夹的位置。
下面的命令将下载 remotefile
从远程系统到本地系统。

sftp> get remotefile.txt

使用' -r '开关和' get '命令递归下载文件和文件夹。
下面的命令将把文件夹remotedir从远程系统递归下载到本地系统。

sftp> get -r remotedir

上传文件到SFTP

使用put命令从本地系统上传文件到远程系统。
首先使用“cd”更改远程上载文件夹的位置。
下面的命令将 localfile.txt从本地系统上传到远程sftp系统 。

sftp> put localfile.txt

使用' -r '开关和' put '命令递归上传文件和文件夹。
下面的命令将上载目录localdir和所有文件和子目录到远程服务器。

sftp> put -r localdir