一: 非對稱加密方式原理:
1:傳送方將數據用Hash算法得到報文摘要,用自己的私鑰加密,得到數字簽名。
2: 傳送方用接收方的公鑰將明文和數字簽名進行加密,然後發送給接收方。
3:接收方收到加密報文,用自己的私鑰解密得到數據和數字簽名。
4:接收方用傳送方的公鑰解密數字簽名,得到報文摘要,再用公開的Hash算法算出保報文的摘要,與傳送方的對比,若果相同,證明真實,否則被篡改。
二: Open SSH 使用的就是非對稱加密的方式,來進行遠程控制。
SSH的密碼驗證過程
1:首先,客戶端第一次連接,服務端將公鑰發給客戶端,存放在 ~/.ssh/known_hosts 文件中。
2:客戶端隨機生成一個字符串,用服務器的公鑰加密,傳送給服務端。
3:服務端用自己的私鑰解密,得到客戶端的字符串,然後再次發送給客戶端,驗證服務器端的真假。
4:客戶端通過用戶和密碼來驗證自己的合法性。
SSH的公私鑰對驗證步驟:
1: 客戶端使用ssh-genkey 生成一對公私鑰。分別是 ~/.ssh/id_rsa (私鑰) ~/.ssh/id_rsa.pub(公鑰) 。
2:使用 ssh-copy-id [email protected] 將自己的公鑰傳送到服務器的 ~/.ssh/authorized_keys 文件中,該文件在使用該命令的時候自動在服務端生成。文件中存放的是各個客戶端的公鑰的集合。
三:Open SSH的配置文件。
1: 客戶端配置文件 /etc/ssh/ssh_config 基本上不用配置參數。
2:服務端配置文件 /etc/ssh/sshd_config
a. 將PermitRootLogin 字段改為 no 則可以限制管理員使用SSH遠程,可以提高安全性。
b. port 字段可以改變sshd的偵聽端口
3:客戶端命令在 /usr/bin/ssh 服務端命令在 /usr/sbin/sshd
4:Windows的SSH遠程管理軟件有 SecureCRT 和 WinSCP.
5: 在Windows系統中使用SecureCRT時,在服務器中安裝一個lrzsz的rpm包,可以直接將文件從Windows中拖入到終端上傳到服務器中。
.