手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

幫助中心 >  技術知識庫 >  云服務器 >  服務器教程 >  云服務器 Linux SSH 連接交互過程簡介

云服務器 Linux SSH 連接交互過程簡介

2016-08-01 14:53:33 12650

交互示意圖 所示:


    服務端準備階段

    服務端在每次啟動 SSH 服務時,都會自動檢查 /etc/ssh/ 目錄下相關密鑰文件的有效性。如果相關文件檢查發現異常,則會導致服務啟動失敗,并拋出相應錯誤信息。 如果文?相關不存在,則會自動重新創建。

    默認創建的相關文件及用途說明如下:

    ll /etc/ssh/ -rw-------. 1 root root 125811 Aug 13  2015 moduli → 用于 DH-GEX 算法 -rw-r--r--. 1 root root   2047 Aug 13  2015 ssh_config → SSH 客戶端配置文件 -rw-------. 1 root root   3879 Aug 13  2015 sshd_config → SSH 服務配置文件 -rw-------. 1 root root    672 May 20 14:22 ssh_host_dsa_key → DSA 算法私鑰 -rw-r--r--. 1 root root    590 May 20 14:22 ssh_host_dsa_key.pub         → DSA 算法公鑰 -rw-------. 1 root root    963 May 20 14:22 ssh_host_key → SSH V1 版RSA 算法私鑰 -rw-r--r--. 1 root root    627 May 20 14:22 ssh_host_key.pub → SSH V1 版 RSA 算法公鑰 -rw-------. 1 root root   1675 May 20 14:22 ssh_host_rsa_key → SSH V2 版 RSA 算法私鑰 -rw-r--r--. 1 root root    382 May 20 14:22 ssh_host_rsa_key.pub         → SSH V2 版 RSA 算法公鑰

    非對稱加密協商

    服務端 SSH 服務正常運行后,客戶端連接時,進行如下交互:

    1. 客戶端向服務端發送連接請求。
      客戶端通過 SSH 工具連接服務端。相關信息通過明文發送。

    2. 服務端返回公鑰信息:
      根據客戶端所使用的服務協議版本及算法設置,返回相應公鑰信息。比如,默認情況下,客戶端通過 SSH V2 協議,基于 RSA 算法建立連接,則服務端將 ssh_host_rsa_key.pub 文件中的內容返回客戶端。相關信息通過明文發送。

    3. 客戶端對服務端公鑰信息進行比對和確認:
      客戶端接收到服務端公鑰信息后,會進行如下比對,并讓用戶對相關信息進行確認。

      • 如果用戶輸入 yes,則會將相應的公鑰信息,保存到當前用戶家目錄下 .ssh 目錄內的 known_hosts 文件中。 比如:

        cat ~/.ssh/known_hosts IP 明文顯示: 192.168.0.1 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3sdlboGEgY9buZpkPuygPw0NxAvmxYd0mc3fo2MgP+JqgFC9/9ZXOgDXKJrjE2HKBieJZSPKGncIh+zLxTvmykeJQBXv7i1GiUjW+H3VY69Ge3AdGfCd+XF+Cvi1e+j18zhHnjSzvIBoNpT5cBWWNbw7mNHCwTb0sHAVUkWR4Ck/LM5/rQ09A+m6BLfZJL8CRNGxKTbyINi6o812S+Cy64WqDs1nTpIXp2Bkcpjclb36bFSs9Z/tWNuJl7A//7HNtxMgFGBnE07Ykvvy8s06DUmkyFy8GcXGBpnfdg9utLodfQLFQnKflCQZ110BpQaCWlWPjU9dc4w3XLJ/XQOP4w== IP 做了加密處理: |1|3efXAZ4sNHcUcHamBy4gDriblc8=|8idBhLq9aLl2sfh4KswMsk4sPFI= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwS4DE3hok8RCkxYlTxsexNrNa62e05UGSkoP7ie26DDWjG1Aoc74cCsE4is9p7lEfFUYYlAzeYhPqE/yGf5YxRZUOU2IeFI4cEqo8YZr7edVYpgAq2f2J0zMwk1syenD12lmUPkYA4mMB6it3jxXR5k+H0HZh9YA7mRXkiTjlkAMWirBcnUvtKYRv9LRIr3ikUiPy2gfZO291Ae9zuTsWwEtHQxIpiBgk3vwF2gCUFlX9y//IsMjdQq5prk7x3BjXhUorqgJO1gt1VHW8Xxx9Oe50YF1hi9DuE6VXwyh4xfHTmauRQybwsYafdA3HxrA2od6x9l19D9EH7xHAjDa5w==
      • 如果是首次連接服務端,客戶端會收到類似如下信息,讓用戶確認公鑰指紋的有效性:

        The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established. RSA key fingerprint is c2:49:d9:43:74:d5:ed:bc:28:9b:d2:7b:63:94:cf:bc. Are you sure you want to continue connecting (yes/no)?

         


      • 如果之前已經成功連接,而且公鑰指紋對比一致,則會繼續下一步操作。 

      1. 如果用戶輸入 no ,則連接中斷并報錯(Host key verification failed)。

    4. 客戶端生成臨時密鑰對:
      服務端公鑰校驗及確認后,客戶端會生成一對臨時密鑰用于客戶端加密。該密鑰對不會存儲到文件,而是記錄在內存中。每次連接都會重新生成臨時密鑰對。

    5. 客戶端發送公鑰信息:
      客戶端向服務端,發送前述生成的臨時密鑰對中的公鑰信息。相關信息通過明文發送。

    至此,服務端及客戶端都擁有對方的公鑰和自身的私鑰,所以稱為非對稱加密。

    后續數據交互過程

    后續登錄校驗及正常的數據傳輸,都會通過雙向加密方式進行。相關交互說明如下:

    • 如果服務端需要發送數據給客戶端:

      • 服務端使用所持有的客戶端公鑰,對需要傳輸的數據進行加密,再發送給客戶端。

      • 客戶端收到信息后,使用所持有的自身私鑰解密后獲取數據。

    • 反之,如果客戶端需要發送數據給服務端,也是類似的流程:

      • 客戶端使用所持有的服務端公鑰,對需要傳輸的數據進行加密,再發送給服務端。

      • 服務端收到信息后,使用所持有的自身私鑰解密后獲取數據。

     


    提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

    這條文檔是否有幫助解決問題?

    非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

    在文檔使用中是否遇到以下問題: