日期 | 修改內容 | 修改人 | 備注 |
---|---|---|---|
2021年11月15日 | 創建 | 榮濤 |
SSH是一種協議標準,其目的是實現安全遠程登錄以及其它安全網絡服務。SSH僅僅是一協議標準,其具體的實現有很多,既有開源實現的OpenSSH,也有商業實現方案。使用范圍最廣泛的當然是開源實現OpenSSH。
從上面的描述可以看出,問題就在于如何對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中,然后就需要輸入密碼,之后的流程就按照圖進行。
在上面介紹的登錄流程中可以發現,每次登錄都需要輸入密碼,很麻煩。SSH提供了另外一種可以免去輸入密碼過程的登錄方式:公鑰登錄。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态