说说SSH、SCP和SFTP的那些事儿(转载)

1620

SSH、SCP和SFTP都是SSH软件包的组成部分。git

SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为创建在应用层基础上的安全协议。SSH 是目前普遍采用的安全登陆协议,专为远程登陆会话和其余网络服务提供安全性的协议,替代之前不安全的Telnet协议。利用 SSH 协议能够有效防止远程管理过程当中的信息泄露问题。web

SSH包括二个部分,服务端的SSHD(Secure Shell Daemon)和SSH客户端。咱们一般所说的用SSH登陆到某某主机,指的是用SSH客户端远程登陆到某台主机(该主机运行了SSHD服务端程序)。shell

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其余操做平台,目前几乎全部UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其余系统平台,均可运行SSH。windows

  再说一说SCP和SFTP。安全

SCP是Secure Copy的简称,是用来与远程主机之间进行数据传输的协议,至关于通过加密的Copy命令。SCP数据传输使用 ssh协议,而且和ssh 使用相同的认证方式,提供相同的安全保证 。 根据实际须要,scp进行验证时会要求你输入密码或口令。服务器

SFTP=SSH File Transfer Protocol ,有时也被称做 Secure File Transfer Protocol 。SFTP是用SSH封装过的FTP协议,至关于通过加密的FTP协议,功能与FTP同样,只是传输数据通过加密。网络

SFTP也有二个部分,服务端的SFTP-Server及SFTP Client。一般所说的用SFTP登陆到某台主机,指的是用SFTP客户端登陆到某台主机(该主机运行了SFTP-Server服务端程序)。ssh

SCP和SFTP异同:ide

无论SCP仍是SFTP,都是SSH的功能之一,也都是使用SSH协议来传输文件的。工具

不仅是登陆时的用户信息,相互传输的文件内容也是通过SSH加密的,因此说SCP和SFTP实现了安全的文件传输。

SCP和CP命令类似,SFTP和FTP的使用方法也相似。SCP和SFTP的共同之处在于「使用SSH将文件加密才传输的」

使用「WinSCP」或者「FileZilla」之类的客户端,还能够和Windows之间进行文件传输。

SCP和SFTP的不一样之处,首先就是以前提到的,SCP使用「SCP命令」,SFTP则相似「FTP处理文件」的使用方式。

它们的不一样之处还不止如此,还有「SCP比较简单,是轻量级的,SFTP的功能则比较多」。

虽然还有不少不一样之处,但两者的最大不一样之处在于「SFTP在文件传输过程当中中断的话,链接后还能够继续传输,但SCP不行」。

因为各类缘由致使的文件传输中断是常常讨论的话题,因此这个区别(SFTP支持断点续传,SCP则不支持)被认为是最大的区别。

【知识扩展】

FTP:文件传输协议( File Transfer Protocol的缩写 )是用于在网络上进行文件传输的一套标准协议。它属于网络协议组的应用层。

FTP端口知识:

FTP服务器和客户端要进行文件传输,就须要经过端口来进行。FTP协议须要的端口通常包括两种:

控制链路---TCP端口21。控制器端口,用于发送指令给服务器以及等待服务器响应。全部你发往FTP服务器的命令和服务器反馈 的指令都是经过服务器上的21端口传送的。

数据链路---TCP端口20。数据传输端口,用来创建数据传输通道的。主要用来从客户向服务器发送一个文件、从服务器向客户发送一个文件、从服务器向客户发送文件或目录列表。数据链路主要是用来传送数据的,好比客户端 上传、下载内容,以及列目录显示的内容等。

FTP、Telnet和POP,其本质上都是不安全的;由于它们在网络上用明文传送数据、用户账号和用户口令。

常见的SSH客户端:

图形化客户端:

WinSCP,是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持FTP、SCP、webdav协议。它的主要功能就是在本地与远程计算机间安全的复制文件。

Xftp,是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 之后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。

FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具有全部的FTP软件功能。支持FTP,SFTP(SSH File Transfer Protocol), FTPS(FTP over SSL/TLS)等多种协议。

终端工具类:

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口链接软件。PuTTY是一款开放源代码软件,使用MIT licence受权。

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, SFTP以及Microsoft Windows 平台的TELNET 协议。

相关文章
相关标签/搜索