ssh連接的原理
阿新 • • 發佈:2019-02-27
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連接的原理