ssh遠程連接服務器,SSH原理

 2023-09-30 阅读 25 评论 0

摘要:SSH原理 榮濤 2021年11月15日 文檔修改日志 日期修改內容修改人備注2021年11月15日創建榮濤 1. 引言 SSH是一種協議標準,其目的是實現安全遠程登錄以及其它安全網絡服務。SSH僅僅是一協議標準,其具體的實現有很多,既有開源實現的OpenSSH,也有商業
SSH原理

榮濤
2021年11月15日

文檔修改日志

日期修改內容修改人備注
2021年11月15日創建榮濤

1. 引言

SSH是一種協議標準,其目的是實現安全遠程登錄以及其它安全網絡服務。SSH僅僅是一協議標準,其具體的實現有很多,既有開源實現的OpenSSH,也有商業實現方案。使用范圍最廣泛的當然是開源實現OpenSSH。

2. SSH中是如何解決中間人攻擊問題?

2.1. 基于口令的認證

從上面的描述可以看出,問題就在于如何對Server的公鑰進行認證?在https中可以通過CA來進行公證,可是SSH的publish key和private key都是自己生成的,沒法公證。只能通過Client端自己對公鑰進行確認。通常在第一次登錄的時候,系統會出現下面提示信息:

The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)? 

上面的信息說的是:無法確認主機ssh-server.example.com(12.18.429.21)的真實性,不過知道它的公鑰指紋,是否繼續連接?

之所以用fingerprint代替key,主要是key過于長(RSA算法生成的公鑰有1024位),很難直接比較。所以,對公鑰進行hash生成一個128位的指紋,這樣就方便比較了。

如果輸入yes后,會出現下面信息:

Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts. 
Password: (enter password) 

ssh遠程連接服務器,該host已被確認,并被追加到文件known_hosts中,然后就需要輸入密碼,之后的流程就按照圖進行。

2.2. 基于公鑰認證

在上面介紹的登錄流程中可以發現,每次登錄都需要輸入密碼,很麻煩。SSH提供了另外一種可以免去輸入密碼過程的登錄方式:公鑰登錄。

3. 參考鏈接

  • 簡書:圖解SSH原理
  • https://www.ietf.org/rfc/rfc4251.txt
  • Understanding SSH workflow
  • Comparing SSH Keys - RSA, DSA, ECDSA, or EdDSA?

Copyright (C) CESTC Com.

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/105564.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息