linux - 文件传输sftp

sftp 也是ssh的一种,相对ssh来说,sftp可以形象的视为在本机和远程server之间的文件传输管道,通过简单的put 和 get 来上传和下载文件。

一. sftp 和 ftp 的区别

我们平时习惯了使用ftp来上传下载文件,尤其是很多Linux环境下,我们一般都会通过第三方的SSH工具连接到Linux,但是当我们需要传输文件到Linux服务器当中,很多人习惯用ftp来传输,其实Linux默认是不提供ftp的,需要你额外安装FTP服务器。而且ftp服务器端会占用一定的VPS服务器资源。其实笔者更建议使用sftp代替ftp。

  主要因为:一、可以不用额外安装任何服务器端程序(我比较中意这个,哈哈~~,很多公司为了安全性Linux没有外网环境,只有SSH的时候,想传输文件是很悲催的问题)。二、会更省系统资源。三、SFTP使用加密传输认证信息和传输数据,相对来说会更安全。四、也不需要单独配置,对新手来说比较简单(开启SSH默认就开启了SFTP)。

  FTP是一种文件传输协议,一般是为了方便数据共享的。包括一个FTP服务器和多个FTP客户端。FTP客户端通过FTP协议在服务器上下载资源。而SFTP协议是在FTP的基础上对数据进行加密,使得传输的数据相对来说更安全。但是这种安全是以牺牲效率为代价的,也就是说SFTP的传输效率比FTP要低(不过现实使用当中,没有发现多大差别)。个人肤浅的认为就是:一;FTP要安装,SFTP不要安装。二;SFTP更安全,但更安全带来副作用就是的效率比FTP要低些。

原文:https://www.cnblogs.com/xuliangxing/p/7120130.html

二. 如何使用sftp传输文件

1.要连接到远程 sftp 服务器,如下建立一个安全 SSH 连接并创建 SFTP 会话:

在命令行模式下,有分别以 IP地址的方式 和 域名的方式 登录如下:
sftp [email protected]   
sftp lzy@@www.hebust.edu.cn。
回车提示输入密码。进入提示符

sftp默认端口号是22。

如果需要修改端口号,可以使用如下命令:

sftp -oPort=8085 [email protected]

sftp -oPort=30490 [email protected]

即添加“-oPort=远程端口号”。

2.登录到远程主机后,你可以如下运行交互式的 SFTP 命令:

sftp> ls            #list directory 
sftp> pwd           #print working directory on remote host
sftp> lpwd          #print working directory on local host
sftp> mkdir uploads     #create a new directory

pwd 和 lpwd 比较实用,显示server的当前目录,路径等,方便知道数据“管道”搭在哪两头。

3.从本地 上传文件 至远端server

sftp> put -r  Tecmint.com-articles  # 目录

sftp> put data.txt  # file 

上传目录需要加上‘-r’。

4.从server 下载文件 至本机

sftp> get -r data_dir  # 目录

5.退出sftp

sftp> bye
或者
sftp> exit

详细使用可参考:

技术|如何在 Linux 中使用 sFTP 上传或下载文件与文件夹
https://linux.cn/article-8253-1.html

ftp命令上传文件及文件夹 - pretty-ketty - 博客园
https://www.cnblogs.com/pretty-ketty/p/10041387.html

sftp基本使用方法_运维_liranke的专栏-CSDN博客
https://blog.csdn.net/liranke/article/details/6782582

猜你喜欢

转载自blog.csdn.net/Zhou_Dao/article/details/104706591