文档章节

Linux命令:sftp

七律断舍离
 七律断舍离
发布于 2017/07/21 18:39
字数 906
阅读 10
收藏 0

什么是 SFTP ?

在了解 SFTP 之前,我们先看看什么是 FTP 。 FTP ( File Transfer Protocol ) 文件传输协议,是一种常用来在两终端系统之间传输文件的方法。

SFTP ,即 SSH 文件传输协议 ( SSH File Transfer Protocol ),或者说是安全文件传输协议( Secure File Transfer Protocol )。SFTP 是一个独立的 SSH 封装协议包,通过安全连接以相似的方式工作。它的优势在于可以利用安全的连接传输文件,还能遍历本地和远程系统上的文件系统。

在大多数情况下,优先选择 SFTP 而不是 FTP ,原因在于 SFTP 最基本的安全特性和能利用 SSH 连接的能力。FTP 是一种不安全的协议,应当只有在特定的情况下或者你信任的网络中使用。

虽然 SFTP 集成了很多图形工具,但是这一篇使用指南会演示如何使用交互式命令行界面来使用它。以下就是使用指南。

如何使用 SFTP 连接

在默认情况下, SFTP 使用 SSH 协议进行身份验证并建立安全连接。正因如此,相同的存在于 SSH 中的验证方法是可用的。

尽管通过默认的方式,使用和设置密码很方便,我们还是强烈建议你建一个 SSH 密钥,把你的公钥传给你需要访问的所有系统。长远来看,这样会更加安全,也节省你的时间。

如果你还没有设置 SSH 密钥,请点击 这里 查看设置 SSH 密钥指南(后期 LinuxStory 考虑是否翻译)来设置你的 SSH 密钥,以便访问你的服务器。

如果你能使用 SSH 连接到你的主机上的话,那么你已经完成所有必要的使用 SFTP 来管理你的文件的要求了。使用下面的命令来测试 SSH 访问:

ssh username@remote_hostname_or_IP

如果上一条命令成功,输入这个的命令退出:

exit

建立一个 SSH 连接打开一个 SFTP 会话。这个过程可使用下面命令:

sftp username@remote_hostname_or_IP

这样,你就连接上远程系统了,你的提示符也会变为 SFTP 提示符。

使用 SFTP 传输文件

仅仅访问两个文件系统之间的内容却不能在本地和远程文件系统之间传输文件,那简直就是 牛鼎烹鸡 。

下载远程文件到本地主机

如果我们想从远程主机上下载文件,跟着我这样做:

get remote_file_name

Fetching /home/demouser/remoteFile to remote_file_name
/home/demouser/remote_file_name                      100%   37KB  36.8KB/s   00:01

正如你看到的,在默认情况下,“ get ”命令把远程主机上的文件下载到本地主机而且保证文件名不变。

想改变名字?没问题!直接指定一个不同的文件名来复制远程文件即可:

get remote_file_name local_file_name

说到这里,不得不告诉你,“ get ”命令还有一些可选参数。比如,我们可以打开递归选项来递归的复制一个文件夹里面的内容:

get -r some_directory_name

我们还可以打开“ -P ”或者“ -p ”参数来告诉 SFTP 保持文件的权限访问位的设置和访问时间:

get -Pr some_directory_name

上传本地文件到远程主机

使用见名知意的“ put ”命令可以很容易的将文件上传到远程主机:

put local_file_name

Uploading localFile to /home/demouser/local_file_name
local_file_name                                     100% 7607     7.4KB/s   00:00

” put “具有类似“ get ”的参数。这样,你可以上传整个文件夹:

put -r local_directory_name

本文转载自:https://linuxstory.org/how-to-use-sftp-to-securely-transfer-files-with-a-remote-server/

共有 人打赏支持
七律断舍离
粉丝 6
博文 49
码字总数 17659
作品 0
长宁
程序员
私信 提问
Linux 免密 Shell 工具 - jssh

简介 linux scp(文件上传,下载) shell命令的java ssh jar和linux expect工具,主要是避免shell 密码手工输入带来的麻烦(免密ssh,scp),简单易用,方便上手(源码不多)。 说明 jssh.jar 使用...

车江毅
2018/06/22
0
0
SecureCRT 与 sftp

在SecureCRT的连接回话里,有一个“连接sftp标签页”选项,我师傅用来做本机(Win7)和虚拟机文件交换的,感觉挺好用的,比 FTP Client 都好用(vsftpd的安装可是坑惨我了啊!),所以对这个...

hanzhankang
2014/03/06
0
0
linux安装python常用的软件包和模块安装

一、安装软件pip yum -y install epel-release yum install python-pip pip install --upgrade pip 二、安装paramiko模块 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认...

漫然
2018/07/12
0
0
在阿里云服务器(ECS)上从零开始搭建nginx服务器

本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器。阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验馆去体验(半个月有...

androidguy
2018/06/29
0
0
sftp常用命令介绍

某linux系统中有test.cap, 现在, 我需要把它移动到PC上, 然后用wireshark进行分析。 怎么移动呢? 没有什么samba啊, 不支持ftp啊, 也不支持tftp啊。 用sftp吧。 在PC上开启sftp服务器(下...

君满楼001
2017/12/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【PG内核】事务ID冷冻简述

数据库代码中事务ID的类型TransactionId定义为:typedef uint32 TransactionId。因此事务ID最大值为2^32-1=4294967295。 事务ID是需要循环使用的,为了做到这一点,数据库在做vacuum时将很老...

movead
20分钟前
13
0
深入学习SpringMVC以及学习总结

一、优点: 1.SpringMVC简化web程序开发; 2.SpringMVC效率很好(单例模式); 3.SpringMVC提供了大量扩展点,方便程序员自定义功能; 如果想学习Java工程化、高性能及分布式、深入浅出。微服...

编程SHA
21分钟前
1
0
关于开源分布式事务中间件Fescar,我们总结了开发者关心的13个问题

开源分布式事务中间件 Fescar 自1月10日上线v0.1版本以来,受到了开发者们的极大关注(watch249,star3005,fork649,社区讨论的issue58,数据统计于1月17日14:00),可见,天下苦分布式事务...

阿里云官方博客
21分钟前
1
0
斯皮格尔:我们敢于采纳非常疯狂的创意

“阅后即焚”照片分享应用 Snapchat 母公司 Snap 的 CEO 埃文-斯皮格尔(Evan Spiegel)近日接受了英国《金融时报》记者的采访,谈到了该公司的未来发展,与社交网络 Facebook 的竞争,限制自己...

linuxCool
22分钟前
1
0
javaweb文件上传以及文件上传成功后但是目录中没有显示

经过看别人写的代码然后自己实际操作一遍,基本都是搬运也是为了练习。1:创建fileUpLoad.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UT......

小橙子的曼曼
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部