SSH原理及应用

2018-03-09  本文已影响0人  tency小七

加密方法分类

  1. 单钥加密
    1.1 加密解密同一套密码
  2. 双钥加密
    2.1 公钥私钥一一对应,公钥公开,私钥私密,公钥可以解开私钥加密的信息
    2.2 通用的双钥加密算法是RSA
    2.3 在双钥系统中,公钥用来加密信息,私钥用来数字签名

什么是数字签名

小明有两把钥匙,一把是公钥,一把是私钥,任何人都可以拿到小明的公钥,但是私钥只要他自己知道。

小红,小军,小黑都知道了小明的公钥。

小红把“你好啊”这段信息发给小明时,用小明的公钥进行加密,变成了“SNEUIENEEJNDPDJDKDNSO303J"。

此时小明收到了“SNEUIENEEJNDPDJDKDNSO303J"用自己的私钥进行解密,也就收到了小红发过来的”你好啊“。

如果小红发给小明的信息被小军所拦截,但是小军没有小明公钥对应的私钥,他收到的“SNEUIENEEJNDPDJDKDNSO303J"是没有办法解密出来的。

也就是说只要私钥在小明手里,信息就是安全的。

此时,小明要回信给小红,对信件的内容用hash函数生成摘要。

然后使用私钥对这个摘要进行加密,也就是”数字签名”。然后将信件和数字签名发给小红,注意,不用解密就能看到信件内容。

小红收到信件后,用小明的公钥对数字签名进行解密,可以得到摘要1,证明,这封信确实是小明发出来的。

然后小红再对信件内容用hash函数生成摘要2,如果摘要1内容与摘要2内容相同,则说明信件内容没被篡改。

SSH原理

SSH是一种加密协议,用于计算机与计算机之间的加密登陆
其步骤为(在linux shell中的用法)

  1. 远程主机收到用户的登陆请求,将自己的公钥发给用户
  2. 用户用收到的公钥给自己的登陆密码加密,然后发送
  3. 主机用自己的私钥给用户的密码进行解密,得到登陆密码,若登陆密码正确,就可以登陆。

注意:SSH的证书都是没有CA认证的,都是自己签发的。存在以下危险情况:
当不法分子小龙把自己的公钥冒充主机的公钥,那么用户就用小龙公钥给自己的登陆密码加密,小龙用自己手上的私钥解密就能破解用户的密码了。

用用户名user登陆主机host

        $ ssh user@host

如果用户名跟主机名一样

        $ ssh host

SSH默认22端口,你的登陆请求会送进host的22端口,当然,你可以用p参数来改变这个端口

         $ ssh -p 222 user@host
上一篇下一篇

猜你喜欢

热点阅读