一、什麼是SSH
SSH是英文Secure Shell的簡寫形式。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以爲FTP、Pop、甚至爲PPP提供一個安全的"通道"。
二、主機密鑰機制
對於SSH這樣以提供安全通訊爲目標的協議,其中必不可少的就是一套完備的密鑰機制。由於SSH協議是面向互聯網網絡中主機之間的互訪與信息交換,所以主機密鑰成爲基本的密鑰機制。也就是說,SSH協議要求每一個使用本協議的主機都必須至少有一個自己的主機密鑰對,服務方通過對客戶方主機密鑰的認證之後,才能允許其連接請求。一個主機可以使用多個密鑰,針對不同的密鑰算法而擁有不同的密鑰。
三、SSH 的工作過程
在整個通訊過程中,爲實現 SSH的安全連接,服務器端與客戶端要經歷如下五個階段:
* 版本號協商階段,SSH目前包括 SSH1和SSH2兩個版本, 雙方通過版本協商確定使用的版本
* 密鑰和算法協商階段,SSH支持多種加密算法, 雙方根據本端和對端支持的算法,協商出最終使用的算法
* 認證階段,SSH客戶端向服務器端發起認證請求, 服務器端對客戶端進行認證
* 會話請求階段, 認證通過後,客戶端向服務器端發送會話請求
* 交互會話階段 ,會話請求通過後,服務器端和客戶端進行信息的交互四、配置ssh免登陸
生成ssh免登陸密鑰
ssh-keygen -t rsa (四個回車)
執行完這個命令後,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
cd ~,進入到我的home目錄
cd .ssh/
將公鑰拷貝到要免登陸的機器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 或 ssh-copy-id -i localhost
五、原理圖