SSH(Secure Shell Protocol,安全的殼程序協議),通過數據包加密技術將等待傳輸的數據包加密後再傳輸到網絡上;
提供兩個服務器功能:
類似Telnet的遠程連接使用Shell的服務器,俗稱的SSH;
類似FTP服務的Sftp-Server,提供更安全的FTP服務;
連接加密技術簡介
“非對稱加密技術”:通過兩把不一樣的公鑰和私鑰(Public and Private Key)來進行加密和解密的過程;
公鑰(Public Key):提供給遠程主機進行數據加密的行為,大家都能取得你的公鑰來將數據加密;
私鑰(Private Key):遠程主機使用你的公鑰加密的數據,在本地端就能使用私鑰來進行解密。由於私鑰很重要,因此不能外流的,只能保護在自己的主機上;
在客戶端的角度,你必須要取得服務器端的公鑰,然後將自己的公鑰發送給服務器,最終在客戶端上的迷藥是由“服務器的公鑰+客戶端的私鑰”組成;
SSH協議有兩個版本,Version2由於加上了連接檢測機制,可以避免連接期間被插入惡意的攻擊碼;
SSH服務端和客戶端連接過程圖,如下:
客戶端的秘鑰是隨機運算產生於本次連接當中的,所以這次的連接與下次的連接秘鑰可能會不一樣的;
在客戶端的~./ssh/known_hosts中會記錄曾經連接過的主機的Public Key,用於確認已連接上正確的主機;