SSH加密传输


数据传输安全的要满足的要求:

       (1)消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密)

       (2)消息的接收方可以确定消息是由谁发送的(消息的接收方可以确定消息的发送方)

       (3)消息的接收方可以确定消息在途中没有被篡改过(必须确认消息的完整性) 

对称加密:

       流程:

                                   密钥加密              在网络中传输                 逆运算解密

       (发送方)明文 ---------------> 密文 ------------------> 目的主机 ---------------> (接收方)明文

       特点:加密和解密过程都是用同一个密钥

非对称加密:

       非对称加密算法双方均有两个密钥:公钥和私钥;

       公钥与私钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密

      

       流程:

              发送方:

                     (1)将消息进行散列运算,得到一个固定位数的消息摘要

                     (2)用自己的私钥对消息摘要加密,得到数字签名(认证模式:确保接收方能够确认自己)

                     (3)使用接收方的公钥对消息进行加密(加密模式:确保消息只能由期望的接收方解密)

                     (4)发送消息和消息摘要     

              接收方:

                     (1)使用发送方的公钥对消息摘要进行解密(确认消息是由谁发送的)

                     (2)使用自己的私钥对消息进行解密(安全地获得实际应获得的信息)

                     (3)将消息进行散列运算,获得消息摘要

                     (4)将上一步获得的消息摘要和第一步解密的消息摘要进行对比(确认消息是否被篡改)

数字证书生成流程:

       (1)用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心

       (2)认证中心在核实身份后,将执行必要的步骤,以确信请求确实由用户发送而来

       (3)认证中心将发给用户一个数字证书,证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息

       数字证书由独立的证书发行机构发布

SSH远程登录

  不指定用户登录:ssh 192.168.0.11

  指定用户登录:ssh -l root 192.168.0.11

  ssh root@192.168.0.11

  ssh登录指定端口:ssh -p 12333 192.168.0.11

  ssh -l root -p 12333 192.168.0.11

  ssh -p 12333 root@192.168.0.11

  另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。

创建SSH key 

  $ ssh-keygen -t rsa -C "your_email@example.com"

  代码参数含义:

  -t 指定密钥类型,默认是 rsa ,可以省略。
  -C 设置注释文字,比如邮箱。
  -f 指定密钥文件存储文件名。

  用户根目录下生成的 .ssh 文件夹:

  .ssh/…

  id_rsa           生成的私钥

         id_rsa.pub    生成的公钥

         known_hosts      记录已经访问过计算机的公钥,下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同, SSH会发出警告。

    authorized_keys 用于保存所有允许以当前用户身份登录的SSH客户端用户的公钥内容

       免密登录远程主机:将本地生成的id_rsa.pub内容追加到远程主机的authorized_keys文件中即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM