shell Python 微软 centos 编程 linux apache wordpress 程序员 Android nginx google Firefox 开源 java Windows mysql php Ubuntu 云计算

进阶之使用ssh密钥

 讀者已經了解到如何使用ssh連接遠程主機。SSH利用加密算法來保證信息傳輸的安全性,在已經接觸到的例子中,用戶必須在遠程主機上擁有一個賬號,並提供口令。SSH也提供了另外一些驗證用戶身份的方式——密鑰對是其中的一種,也可能是最安全的一種。

  SSH 為 Secure Shell 的縮寫,SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。S S H客戶端適用於多種平臺。

       SSH分為SSH-1和SSH-2兩版本,ssh-2同時使用非對稱密鑰(公鑰和私鑰)和對稱密鑰(加密解密使用同一個密鑰)。非對稱密鑰用來進行ssh服務器和SSH客戶端的認證,然後在ssh服務器和客戶端之間協商一個對稱密鑰,叫做會話密鑰。SSH服務器和客戶端的交互數據通過這個會話密鑰進行加密。原因呢? 因為使用對稱密鑰加解密要比非對稱密鑰快。

SSH支持的算法:

       1. RSA和DSA用於非對稱密鑰

       2. AES,Blowfish,3DES,CAST128等用於對稱密鑰

       3. MD5和SHA用於數據完整性校驗

       4. gzip用於數據壓縮

 對於管理有多臺服務器的管理員而言,快速登錄到某幾臺服務器的shell上是很重要的,每次都輸入登錄口令費時費力,並且還很容易被分神,管理員的思維不得不在找出問題和到達出問題的地方之間來回切換,這種思維體現讓絕大多數管理員不堪重負。

 使用ssh密鑰對可以有效解決這個問題,而且也足夠安全,這種解決方案基於下面這些新的想法:

 有一對互相匹配的密鑰文件

 管理員的pc上保存有私鑰文件的副本

 與私鑰文件匹配的公鑰文件存放在服務器上

 建立ssh連接時檢查密鑰對的匹配性。

 這樣,管理員就不需要在手動輸入口令了,所有的一切都是自動完成的,這聽上去很誘人,下面就來時間配置ssh密鑰對的全過程,而對於管理員最關心的另一個安全性的問題將在本節開始討論。

延伸阅读

评论