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