小白知多少之SSH

 

小白知多少之SSH

Table of Contents

1 简介

SSH是Secure Shell的缩写,是一个建立在应用层和传输层上的安全协议,为计算机的shell提供安全的传输和使用环境。像Telent、FTP等传统的网络服务协议对传输的数据不进行加密,因此很容易受到攻击,如中间人攻击。而SSH协议可以对所有传输的数据进行加密,有效的防止了信息泄漏。

2 软件

我们常说的“使用SSH登录”,大多数情况下都表示“使用SSH协议进行远程登录会话”,其实就跟“使用Telnet登录”是一个道理。我们目前常用的SSH程序是OpenSSH,它是一个开源和免费的软件。

3 原理

SSH的安全保障体现在两个方面,即认证和加密。认证是对登录用户的身份进行认证,加密则是对传输过程中的数据进行加密。SSH使用非对称密钥加密的方法来实现。

非对称密钥,是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户加密密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。

认证过程

  1. A将公钥传送给B,因为公钥是公开的,不用担心被截获。
  2. A使用私钥对文件加密,即对文件签名,然后传送给B。
  3. B使用A的公钥对文件进行解密,若成功解密,则可以验证A的身份是真实的。

可以看出,若有人想要冒充A的身份与B通信,B使用A的公钥解密文件则会失败,这样B就可以验证出冒充者的身份是假冒的了。

加密过程

  1. A将公钥传送给B。
  2. B用A的公钥对要传送的数据进行加密,然后传送给A。
  3. A使用私钥解密收到的数据。

从上边可以看出,由于B对传输中的数据进行了加密,即使数据被截获,截获者由于没有A的私钥,也无法对截获的数据进行解密,从而保证了数据传输的安全。

因此在使用SSH之前,我们需要创建一对公钥和私钥,公钥告知对端,私钥由本端收藏。这样我们就可以很方便的使用公钥认证的方式登录对端,并且保证了传输过程中数据的安全。


参考

https://zh.wikipedia.org/wiki/Secure_Shell Secure Shell

http://www.williamlong.info/archives/837.html 数据公钥加密和认证中的私钥公钥

Author: mayuanchao <[email protected]>

Date: 2013-04-13 18:07:05 CST

HTML generated by org-mode 6.33x in emacs 23

你可能感兴趣的:(ssh)