SSH遠端登入入門 原理

2021-07-26 02:47:04 字數 1522 閱讀 7668

首先說明一下 ssh是什麼 ? 很簡單的,ssh就是一種協議,就像tcp,udp之類的一樣,只是一種通訊的約定.進而產生的乙個問題就是協議的實現方式是有很多種的,多個廠商(甚至你我)都可以實現這個協議.

然後這個協議的作用在**?好吧,我們從計算機的發展歷史來說吧,早期的計算機在網路上是明文傳輸訊息,因此顯然存在以下問題

資料可以讓人隨意截獲並且很輕易地修改並且重新傳送

.對於一些資料,舉例子來說假設是傳送以下字串:

「aaaaaaaaaaaaaaaaaaa….aaaaaaaaaaaaaaaaaa」

沒有壓縮後再傳送,這裡可以優化成壓縮後再傳送(姑且這樣認為吧,下 面的備註中會糾正一下這種說法)

備註:壓縮是否會提高檔案傳輸速度?很明顯是不全然的,這取決於你的計算機,因為壓縮過程本身也是需要cpu進行處理的.而且壓縮是乙個極度耗費cpu的操作,所以可以認為:

加上壓縮過程後,總耗時=壓縮時間+網路傳輸時間t1

不加上壓縮過程,總耗時=網路傳輸時間t2

雖然顯然t2 < t1,但是壓縮時間呢???加上以後你確定不因為cpu的效能問題而造成新的瓶頸???因此,壓縮不一定能提高檔案傳輸速度,可能會更慢,也可能會更快!這取決於你的計算機硬體(cpu)!

這時候扯了這麼多,相信大家有點蒙蔽了,其實上面只是說一下早期明文傳輸的缺點~~不可能白白提到這麼多缺點又不提及解決方案被?沒錯,這就是ssh解決方案

ssh使用了一下兩個技術:

壓縮技術

公鑰加密技術

而壓縮技術很好的解決了問題2,但是它卻無法解決問題1,因為壓縮不是加密!下面為公鑰加密過程

單純一看估計什麼感覺也沒有把,好吧,為此我們構造出一些情況出來,並且借這些情況去深入思考一下ssh這玩意兒.

這就是大名鼎鼎的ssh攻擊過程,那麼問題來了.ssh是如何解決這個中間人攻擊問題呢??或者我們仔細觀察一下上面兩個圖,或者能夠換乙個問法,不再使用這麼專業的名詞,直接達到問題的本質——————ssh是如何區分去遠方伺服器的公鑰和攻擊者隨意構造出來的公鑰的????

這個機制還有第一次登入提醒(假設你經常登入的乙個機器突然給出了乙個」第一次登入驗證」,或許你能明白這可能是偽裝機器把,,,,)

上面講的就是ssh如何解決中間人問題.下面講的是ssh的免登入問題.

假想一種情況,可能存在以下狀況:假設伺服器只為公司內部有限幾個固定客戶端服務,並且客戶不想每次登入時候都需要密碼.那該如何處理?

這就是公鑰登入機制,可以省去每次登入都需要密碼的問題…..下面是示意圖

好吧,簡單的原理介紹就介紹到這裡把,其實今天之所以看這個,是因為最近在看git,git裡面也有用到ssh,現在一想,其實用的不就是ssh的免登入機制麼…

SSH 遠端登入加密原理

採用單鑰密碼系統的加密方法,同乙個秘鑰可以同時用作資訊的加密和解密,這種加密方法稱為對稱加密,也稱為單秘鑰加密。是一種傳統的加密方式,例如壓縮包,用什麼密碼壓縮,就用什麼密碼解壓。非對稱加密演算法 asymmetric cryptographic algorithm 又名 公開秘鑰加密演算法 非對稱...

SSH遠端登入原理與運用

ssh是每一台linux電腦的標準配置。隨著linux裝置從電腦逐漸擴充套件到手機 外設和家用電器,ssh的使用範圍也越來越廣。不僅程式設計師離不開它,很多普通使用者也每天使用。雖然本文內容只涉及初級應用,較為簡單,但是需要讀者具備最基本的 shell知識 和了解 公鑰加密 的概念。簡單說,ssh是...

SSH原理與運用 遠端登入

最近搭建https,雖然對我來說沒有什麼難度,但是對其中的一些概念卻模糊了,什麼是數字簽名,什麼是數字證書,ssl又是什麼,突然通過ssl想到ssh,ssh的原理又是什麼,通過網上學習,簡單記錄一下什麼是sshssh是每一台linux電腦的標準配置。簡單說,ssh是一種網路協議,用於計算機之間的加密...