首頁  >  文章  >  運維  >  什麼是ssh,它是如何做到對訊息進行加密操作的

什麼是ssh,它是如何做到對訊息進行加密操作的

齐天大圣
齐天大圣原創
2020-11-20 11:34:093552瀏覽

在早期的遠端連線伺服器採用的是明文傳輸的軟體,例如telnet、RSH,後來它們都ssh協定取代了。 SSH服務是可以提供資訊加密後再對資料進行傳輸,安全性大大提高。 SSH有兩個主要的功能:

  • 能夠連接遠端主機,管理主機的資源

  • ##能夠進行檔案的傳輸,類似ftp服務

SSH加密技術

SSH使用了非對稱加密技術,關於什麼是對稱加密以及非對稱加密,讀者想要更深入的了解請自己谷歌。非對稱加密主要透過公鑰與私鑰來完成的,其中公鑰對發送的資訊進行加密,接受到資訊後,使用私鑰對資訊進行解密。

  • 公鑰(Public key):給發送給對方主機的資訊進行加密的行為,所以你的主機公鑰可以給想要進行通訊的另外主機。

  • 私鑰(Private key):當遠端主機向目前主機發送了進行公鑰加密的資訊後,目前主機利用自己的私鑰來對該資訊進行解密。記住,你的私鑰千萬不能讓其他主機知道。

下面透過圖解來說明兩台主機如何進行通訊的

#首先,當主機A想要給主機B發送訊息時,先用主機B的公鑰對將要傳送的訊息進行加密,當主機B收到主機A發送來的加密後的訊息時,使用自己的私鑰將訊息解密。同理,主機B傳送訊息給主機A時,先用主機A的公鑰對訊息加密,然後收到加密後的訊息的主機A,用自己的私鑰對其解密。

連接遠端主機的流程

下面來看本機客戶機是如何連接上遠端的伺服器的

  1. #當伺服器第一次啟動sshd服務時,自動產生公鑰及私鑰。這些檔案存放在/etc/ssh/目錄下。

  2. 本機透過終端工具或其他方法對伺服器發起請求連線。

  3. 收到客戶端請求後,伺服器將自己的公鑰傳送給客戶機

  4. 客戶機若之前沒有保存伺服器的公鑰,那麼就會將公鑰保存客戶機上面。對於windows系統,公鑰存放在C:\Users\admin.ssh\known_hosts檔案內,若是linux主機,則保存在家目錄的.ssh/know_hosts檔案內。

  5. 客戶機將自己的公鑰傳送給伺服器,伺服器保存客戶端的公鑰。

  6. 客戶機和伺服器進行通訊。

更多相關技術文章,請造訪

linux系統教學欄位!

以上是什麼是ssh,它是如何做到對訊息進行加密操作的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn