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