[编辑] 历史
最初的 SSH 协议是由芬兰的一家公司开发的,但是因为受版权和加密算法等等的限制,现在很多人都转而使用 OpenSSH。OpenSSH 是SSH的替代软件包,而且是开放源代码和免费的。
[编辑] 基本架构
SSH协议框架中最主要的部分是三个协议:
1. 传输层协议(The Transport Layer Protocol):传输层协议提供服务器认证,数据机密性,信息完整性等的支持。
2. 用户认证协议(The User Authentication Protocol):用户认证协议为服务器提供客户端的身份鉴别。
3. 连接协议(The Connection Protocol):连接协议将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用。
同时还有为许多高层的网络安全应用协议提供扩展的支持。
各种高层应用协议可以相对地独立于 SSH 基本体系之外,并依靠这个基本框架,通过连接协议使用 SSH 的安全机制。
[编辑] SSH的安全验证
在客户端来看,SSH提供两种级别的安全验证。
- 第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,可能会有别的服务器在冒充真正的服务器,无法避免被“中间人”攻击。
- 第二种级别(基于密匙的安全验证),需要依靠密匙,也就是你必须为自己创建一对密匙,并把公有密匙放在需要访问的服务器上。客户端软件会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密匙,然后把它和你发送过来的公有密匙进行比较。如果两个密匙一致,服务器就用公有密匙加密“质询”(challenge)并把它发送给客户端软件。从而避免被“中间人”攻击。
在服务器端,SSH也提供安全验证。 在第一种方案中,主机将自己的公用密钥分发给相关的客户端,客户端在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解密数据,从而实现主机密钥认证,确定客户端的可靠身份。在第二种方案中,存在一个密钥认证中心,所有提供服务的主机都将自己的公开密钥提交给认证中心,而任何作为客户端的主机则只要保存一份认证中心的公开密钥就可以了。在这种模式下,客户端必须访问认证中心然后才能访问服务器主机。
[编辑] SSH协议的可扩展能力
SSH协议框架中设计了大量可扩展的冗余能力,比如用户自定义算法、客户自定义密钥规则、高层扩展功能性应用协议。这些扩展大多遵循 IANA 的有关规定,特别是在重要的部分,像命名规则和消息编码方面。
[编辑] 外部链接
取自"http://zh.wikipedia.org/w/index.php?title=SSH&variant=zh-cn"
2个分类: 网际协议 | 互联网标准
分享到:
相关推荐
本资源包含了SSH协议相关的主要rfc文档 其中有: rfc4250 The Secure Shell SSH Protocol Assigned Numbers pdf rfc4251 The Secure Shell SSH Protocol Architecture pdf rfc4252 The Secure Shell SSH ...
### SSH协议体系结构详解 #### 一、概念与背景 SSH,全称Secure Shell,是由IETF(Internet Engineering Task Force)的Network Working Group制定的一系列协议。它的目标是在不安全的网络环境中提供安全的远程...
### SSH协议连接远程服务器的Java实现 #### 一、引言 在计算机网络领域中,SSH(Secure Shell)协议是一种广泛使用的网络安全协议,用于在不安全的网络上提供安全的远程登录服务。本文将深入探讨如何使用Java语言来...
SSH协议库是实现SSH功能的核心组件,允许开发者在自己的应用程序中集成SSH功能,比如进行远程操作、文件传输等。本资源包含了一系列用于构建SSH协议支持的库文件,如`libssh2.h`、`libssh2.lib`、`libssh2_config.h`...
总结而言,Python结合SSH协议在远程管理Linux系统方面展现出其强大的功能和灵活性,能够高效完成日常的运维任务,提高系统管理的便捷性和安全性,对于IT运维领域具有重要的实用价值。随着技术的发展和Python语言的日...
以下是SSH协议的详细分析: 1. **协议初始化**: SSH协议的启动过程始于客户端发起一个TCP连接请求到服务器。一旦TCP连接建立,服务器会发送一个包含其协议版本号(主版本号和次版本号)和软件版本号的报文。...
SSH协议分析: SSH,即安全外壳(Secure Shell),是一种在不安全网络中为网络服务提供安全通信的网络协议。它主要目的是建立一个加密的网络连接,替代不安全的远程登录协议(如Telnet)。SSH通过加密所有传输的数据...
SSH协议的广泛应用和安全特性使其成为IT领域不可或缺的工具。然而,随着网络环境的复杂性增加,SSH也面临新的安全挑战,如密钥管理问题、恶意软件利用SSH漏洞等。因此,理解和正确使用SSH,以及及时更新和配置安全...
这个压缩包“SSH协议相关资料和软件”显然包含了一些关于SSH协议的学习资源和可能的实施工具,比如`setupssh.exe`,这很可能是一个SSH客户端或服务器的安装程序。下面将详细讨论SSH协议及其相关知识。 SSH协议最初...
通过SSH协议挂载远程文件系统的优势在于数据传输的安全性,因为SSH提供了数据加密,可以防止中间人攻击,保护数据隐私。 在.NET开发中,dotnet-sshfs的使用可能涉及以下几个方面: 1. **安装与配置**:首先,...
基于SSH协议的SFTP协议详解 SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种安全的文件传输协议,基于SSH(Secure Shell,安全外壳)协议实现。SFTP协议提供了一个安全的文件传输机制,用于在不同...
Win 10 ODBC SSH 协议远程连接 MySQL 3306 在本文中,我们将探讨如何使用 Win 10 自带的 OPENSSH 通过 SSH 协议远程连接 MySQL 服务器, 并使用 ODBC 连接到远程 MySQL 服务器。 SSH 协议 SSH(Secure Shell)是...
总结一下,`ganymed-ssh2-build`是用于Java的SSH协议实现库,核心类包括`ch.ethz.ssh2.Connection`和`ch.ethz.ssh2.SCPClient`。`Connection`类负责建立和管理SSH连接,而`SCPClient`类则提供了SCP文件传输服务。...
### SSH协议安全性分析及改进 #### 一、SSH协议概述 SSH(Secure Shell)协议是一种在网络环境中提供安全的远程登录和其他服务的协议。它最初由芬兰程序员Tatu Ylonen在1995年设计,旨在解决传统的远程访问工具如...
ssh协议详解ssh协议详解ssh协议详解ssh协议详解
SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。S S H最初是U N I X系统上的一个程序...
"信息安全技术应用专业《通过WireShark进行SSH协议分析3》" 本文档主要介绍了通过 WireShark 进行 SSH 协议分析的技术应用。SSH 协议是一种安全的远程登录协议,使用加密技术来确保数据的安全性。该协议的工作过程...
基于SSH协议的执行命令工具,如标题所示,是一个允许用户通过SSH连接到远程主机并执行命令的程序。这样的工具对于系统管理员、开发者以及需要远程操作Linux或Unix服务器的人员来说非常实用。 首先,我们要理解SSH的...
在这个"SSH协议安装包及安装说明"中,我们重点关注的是在LINUX环境下安装和配置SSH的过程,特别是作为HADOOP配置的前期准备。首先,我们需要了解SSH的基本概念和工作原理: 1. **SSH工作原理**:SSH通过公钥/私钥对...