SSH、SCP和SFTP都是SSH软件包的组成部分。
SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前广泛采用的安全登录协议,专为远程登录会话和其他网络服务提供安全性的协议,替代以前不安全的Telnet协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH包括二个部分,服务端的SSHD(Secure Shell Daemon)和SSH客户端。我们通常所说的用SSH登录到某某主机,指的是用SSH客户端远程登录到某台主机(该主机运行了SSHD服务端程序)。
SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台,目前几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他系统平台,都可运行SSH。
再说一说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服务端程序)。
SCP和SFTP异同:
不管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 协议。
Chrome Secure Shell 是一款 Chrome 应用程序,可以在 Chrome 中连接到 SSH 管理服务器,来自 Google Chrome官方团队。
领取专属 10元无门槛券
私享最新 技术干货