-
SSH(维基百科 SSH.com Documents Tatu Ylonen)
Tatu Ylonen于1995年编写SSH,并成立公司SSH.COM。
Secure Shell(SSH, 安全外壳协议):一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。
SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。
最常见的用途是远程登陆系统。
SSH是Telnet和非安全shell的替代品。
SSH协议有两个主要版本:SSH-1和SSH-2
-
SSH以非对称加密实现身份验证
身份验证有多种途径,比如使用自动生成的公钥-私钥对来简单地加密网络连接,随后使用密码认证进行登录。
另一个种,是人工生成一对公钥和密钥,通过生成的密钥进行认证,实现不输入密码的情况下登录。
任何人都可以生成密钥,公钥需要放在待访问的电脑之中,对应的私钥需要用户自行保管。
认证过程基于生成出来的私钥,但是整个认证过程中私钥本身不会传输到网络中。
-
SSH协议框架最主要的部分是三个协议
- 传输层协议(The Transport Layer Protocol):传输层协议提供服务器认证,数据机密性,信息完整性等的支持。
- 用户认证协议(The User Authentication Protocol):用户认证协议为服务器提供客户端的身份鉴别。
- 连接协议(The Connection Protocol):连接协议将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用。
-
SSH的安全验证
从客户端角度,SSH提供两种级别的安全验证:
- 第一种级别(基于密码的安全验证),知道账号和密码,就可以登录到远程主机。并且所有传输的数据都会被加密。无法避免“中间人”攻击;
- 第二种级别(基于密钥的安全验证),自己创建密钥对,公钥放在服务器,客户端向服务器发出请求,请求用密钥进行安全验证。服务器收到请求后,现在服务器根目录下找公钥,然后把它和发过来的公钥进行比较。如果两个密钥一直,服务器就用公钥加密“质询challenge”并把它发送给客户端,避免“中间人”攻击。
-
SSH与SSL(维基百科)
-
Connecting to GitHub with SSH
GitHub可以通过SSH连接。
从github角度理解ssh
最新推荐文章于 2024-03-31 23:17:54 发布