SSH (secure shell) 和 SSL(secure socket layer) 的区别 (1)

1 篇文章 0 订阅
1 篇文章 0 订阅

要想以通俗易懂的方式介绍SSL和SSH的区别,并不是一件轻松的事。下文至结论之前的内容翻译自国外的一篇文章,并做了少许改动;原文附在最后面,相信看完之后,您会对两者之间的区别有了较为清晰的理解。

一、基本概念

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

二、两者区别

SSH (secure shell) 和 SSL(secure socket layer) 都能用于网络通讯加密,两者有相同之处,也有不同之处,本文试着以易于理解的方式来解释两者的不同。

SSL的设计初衷是为了确保网络会话的安全,而SSH是设计初衷为了代替 telnet 和 FTP。当然,它们都能用来做许多其它的事情。

SSL有很多用途,HTTPS的实现就是在HTTP基础上加入了SSL的支持。它也可以用在POP3,SMTP,IMAP以及几乎所有支持TCP协议的应用程序。对于创建网络应用程序的大多数程序员,只需要简单的在应用程序中加入SSL实现,即可通过TCP在网络上进行通信时提供加密。

SSH是一种瑞士军刀,设计为做许多不同的事情,其中​​大部分都围绕在主机之间建立安全的隧道。 SSH的一些实现依赖于SSL库 - 这是因为SSH和SSL使用许多相同的加密算法。

SSH不是基于SSL的,而HTTPS是基于SSL的。SSH比SSL做得更多,它们之间不能通信–这是两个不同的协议,但是在如何实现类似的目标有相同之处。

SSL本身不能做任何事情,只是规定如何握手和加密(数据),您需要一个应用程序来驱动SSL以完成真正的工作。

SSH本身做了很多有用的事情,允许用户执行真正的工作。 SSH主要的两个用处是控制台登录(telnet替换)和安全文件传输(ftp替换),但您也能给其他应用程序打通一个SSH隧道,允许用户通过它运行HTTP,FTP,POP3和其它应用。

如果没有来自应用程序的通信,SSL什么都不做。即使没有来自应用程序的通信,SSH也会在两台主机之间创建一个加密隧道,这样可以通过交互式登录shell,文件传输等方式完成实际工作。

三、结论:

SSL和SSH只是看上去和听起来有些相似,在理解过程中也会产生一些混淆,但实际是完全两个不同的协议和事物:

  • 从某种意义上说,SSL只是一个协议,可以在任何支持TCP/IP协议的程序中使用它;这需要由程序员来加入相应支持(当然并不难);
  • SSH则是一套完整的软件体系,既包括了协议,也包括了实现;当然,在底层实现上,SSH可以使用SSL协议,也可以不使用;
  • 使用SSH隧道进行通信,并不需要对所有的软件和应用程序做出改动,只需要在两个主机之间建立一个安全隧道,后续的通信数据都会被加密;
  • SSL和SSH共同使用了一些相同加密算法、开源模块,且功能有相似之处,难免有时让人感到困惑。

附原文:

SSH (Secure Shell) and SSL (Secure Sockets Layer) can both be used to secure communications across the Internet. This page tries to explain the differences between the two in easily understood terms.

SSL was designed to secure web sessions; it can do more, but that’s the original intent.

SSH was designed to replace telnet and FTP; it can do more, but that’s the original intent.

SSL is a drop-in with a number of uses. It front-ends HTTP to give you HTTPS. It can also do this for POP3, SMTP, IMAP, and just about any other well-behaved TCP application. It’s real easy for most programmers who are creating network applications from scratch to just grab an SSL implementation and bundle it with their app to provide encryption when communicating across the network via TCP. Check out: stunnel.org.

SSH is a swiss-army-knife designed to do a lot of different things, most of which revolve around setting up a secure tunnel between hosts. Some implementations of SSH rely on SSL libraries - this is because SSH and SSL use many of the same encryption algorithms (i.e. TripleDES).

SSH is not based on SSL in the sense that HTTPS is based on SSL. SSH does much more than SSL, and they don’t talk to each other - the two are different protocols, but have some overlap in how they accomplish similiar goals.

SSL by itself gives you nothing - just a handshake and encryption. You need an application to drive SSL to get real work done.

SSH by itself does a whole lot of useful stuff that allows users to perform real work. Two aspects of SSH are the console login (telnet replacement) and secure file transfers (ftp replacement), but you also get an ability to tunnel (secure) additional applications, enabling a user to run HTTP, FTP, POP3, and just about anything else THROUGH an SSH tunnel.

Without interesting traffic from an application, SSL does nothing. Without interesting traffic from an application, SSH brings up an encrypted tunnel between two hosts which allows you to get real work done through an interactive login shell, file transfers, etc.

Last comment: HTTPS does not extend SSL, it uses SSL to do HTTP securely. SSH does much more than SSL, and you can tunnel HTTPS through it! Just because both SSL and SSH can do TripleDES doesn’t mean one is based on the other.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SSH Secure Shell是一种安全的远程登录协议,可以在不安全的网络上安全地传输数据。以下是SSH Secure Shell的下载和安装步骤: 1. 打开SSH Secure Shell的官方网站,下载适合您操作系统的安装程序。 2. 运行安装程序,按照提示进行安装。 3. 安装完成后,打开SSH Secure Shell客户端。 4. 输入远程主机的IP地址和用户名,点击连接。 5. 如果第一次连接远程主机,会提示您接受主机的公钥。确认后,输入密码即可登录远程主机。 6. 登录成功后,您可以在SSH Secure Shell客户端中执行命令,上传和下载文件等操作。 注意:在使用SSH Secure Shell时,请确保您的网络连接是安全的,不要在公共网络上使用。同时,为了保护您的账户安全,请使用强密码,并定期更改密码。 ### 回答2: SSH Secure Shell 是一个安全传输协议,用于在计算机之间进行加密的远程登录和文件传输。它是一个加密的通信协议,用于保护计算机网络的安全和隐私,可用于跨网络连接。 在下载SSH Secure Shell之前,您需要知道您的操作系统类型和版本。您可以通过以下几个步骤下载和安装SSH Secure Shell: 1. 打开您的互联网浏览器,输入“SSH secure shell下载”并搜索。选择可靠的网站例如https://www.ssh.com/。 2. 找到与您的操作系统匹配的版本下载,选择“Download Now”,将安装文件下载到本地计算机。 3. 双击下载文件以开始安装程序,选择语言和许可证协议。 4. 您将被要求选择安装文件的位置。如果您不熟悉它,请接受默认安装路径。单击“下一步”。 5. 您将需要选择默认组件,如果您不知道可以使用默认设置。单击“下一步”。 6. 您将需要选择安装开始菜单组件,如果您不确定可以再次选择默认设置。单击“下一步”。 7. 在安装配置过程中,您可能会选择一些高级选项以定制产品功能。如果您不确定,请使用默认设置。单击“下一步”。 8. 等待安装程序完成所有安装任务。 9. 单击“完成”即可完成SSH Secure Shell的安装。 总结,安装SSH Secure Shell的步骤比较简单,只需要从可靠网站下载对应打操作系统和版本的安装文件,根据提示进行安装即可。安装完成后,您可以使用SSH Secure Shell安全地连接远程计算机进行加密的远程登录和文件传输。 ### 回答3: SSH Secure Shell是一种通过互联网连接远程计算机的安全加密协议,使用SSH连接可以更加安全、稳定地远程访问Linux等系统,同时还能实现远程文件传输和远程执行命令等功能。本文将介绍 SSH Secure Shell 的下载、安装及基本使用。 下载 首先,我们需要从官方网站上下载 SSH Secure Shell 的安装包。目前,SSH Secure Shell 的最新版本是7.9.0,官网上提供了Windows、Linux和MAC等系统的安装包可供下载。在官网上选择所需系统的安装包下载后,就可以进行安装了。 安装 安装 SSH Secure Shell 很简单,只需要双击下载的安装包,在安装向导中一步步进行安装即可。在安装过程中,需要注意选择安装目录,根据需求进行选择即可。 使用 安装完成后,就可以使用 SSH Secure Shell 连接启动 SSH 客户端。在连接时需要指定要连接的远程计算机的IP地址和端口号。如果目标计算机开启了SSH服务,并且安全性设置得到了加强,那么需要输入用户名和密码等信息以进行认证。如果这些信息都正确,那么就能成功连接远程计算机了。在连接后,可以通过SSH客户端来进行文件传输、执行远程命令等操作,十分方便。 总结 SSH Secure Shell 是一种非常实用的远程计算机连接协议,它能够保证连接的安全、稳定,并且提供了丰富的功能。对于需要从远程连接Linux系统的用户来说,学会使用 SSH Secure Shell 就非常必要了。在操作时,一定要注意安全性,做好相应的安全设置,这才能保护计算机和数据的安全

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值