1. 程式人生 > >ssh連接的原理

ssh連接的原理

sts 分享 私鑰 發送 light alt bubuko 操作 linux系統

ssh是linux系統中的一個遠程連接工具,也是一種網絡協議,通過各種加密算法達到安全連接的效果。若能使用ssh連接到另外一臺機器上,我們就可以認為是安全的。本節主要介紹的是ssh連接的原理以及ssh免密連接的原理。


一、ssh連接原理

1、環境介紹

    兩臺linux服務器

    分別安裝ssh服務,並啟動

  2、原理以及過程

    在A上使用ssh連接B機

    • A向B發送連接請求
    • B收到請求後,將自己的公鑰發給A
    • A收到公鑰後,用公鑰加密B的登陸密碼,生成加密密文,發送給B
    • B收到加密密文後,用自己的私鑰解密,得到解密信息,然後與B的登陸密碼做比較,正確則允許A登陸。            

    技術分享圖片

二、ssh免密登陸

  1、環境介紹

    A/B兩臺裝有ssh的linux機器

    在A機器上生成秘鑰對

    將A的公鑰加入到B機器上指定位置

    介紹一下~/.ssh/目錄下的幾個文件:

1、id_rsa          生成的秘鑰

2、id_rsa.pub        生成的公鑰

3、authorized_keys     存放遠程連接主機的公鑰,一行一個公鑰,權限為600

4、know_hosts        (該文件不會立刻生成)存放被連接主機的公鑰,下次連接時會核對公鑰是否一致,若不一致,則發出相應的警報,作用是避免安全攻擊,比如說DNS劫持等。
若發現異常會顯示下圖的提示,只要刪除know_hosts文件裏沖突的公鑰即可。

技術分享圖片  

 可通過以下命令實現秘鑰對的創建與免密登陸的操作:

技術分享圖片

技術分享圖片

    此時,便可以免密連接了。

  2、免密連接原理及過程

    • A向B發送連接請求,並帶上自己的公鑰
    • B收到A的公鑰,檢查機器上的授權列表是否包含有A的公鑰,若存在,再生成一個隨機數,使用公鑰加密,生成加密密文發送給A
    • A收到加密密文後,用私鑰機密,得到的結果發送給B
    • B收到A發來的結果,與之前生成的隨機數作比較,一致則允許A連接    

技術分享圖片

  

ssh連接的原理