ssh與非對稱加密
非對稱加密與數字簽名
1.非對稱加密
在非對稱加密中有不同的金鑰:私鑰(private key)和公鑰(public key)。如果A和B進行通訊,A需要建立兩個金鑰:一個私鑰和一個公鑰,A把公鑰分發給社群,公鑰不需要保密(但需要提供身份驗證和資料完整性,防止他人冒充A)。 B向A傳送資訊是用A的公鑰加密明文,A收到後可用自己的金鑰解密。
| A | | B
| | |
| 私鑰(A) | 不安全通道 | 公鑰(A)
| 明文<---------密文|<-------------------------------------|密文<-----------明文
2.數字簽名
數字簽名用於驗證訊息傳送者資訊,當A向B傳送訊息是,B需要檢查傳送者的身份,這時A可以用自己的私鑰進行簽名,B可用A的公鑰進行驗證。
對應ssh命令
1.登陸遠端主機
遠端登陸主機"host"時,在本地輸入命令
ssh user_name@host_name (hostname可以是主機的ip地址)
請求登陸host,這時會詢問是否接受host的公鑰,接收後會要求輸入你的登陸密碼,輸入的密碼會用host的公鑰進行加密,host接收加密後的登陸資訊後,會用自己的私鑰解密,確認後會允許登陸。這樣你的登陸資訊就不會洩露給他人(即便被他人截獲登陸資訊,但無host金鑰,所以無法獲得你的登陸資訊)。
2.生成自己的公鑰與私鑰
在本地輸入命令
ssh-keygen
會在在目錄~/.ssh中生成私鑰: id_rsa, 公鑰: id_rsa.pub。
3.上傳公鑰與免密碼登陸(數字簽名)
輸入命令上傳公鑰到host
ssh-copy-id user_name@host_name
host會最後一次要求你輸入密碼確認身份,密碼正確後會將公鑰加到host的/home/user_name/.ssh/authorized_keys檔案中,此後你再次登陸時,host會向你傳送資訊,你用自己的私鑰進行數字簽名後傳送給host,host用你的公鑰進行驗證,驗證成功後會允許登陸,不需要輸入密碼。
相關文章
- 對稱加密與非對稱加密加密
- 編碼與加密(對稱加密與非對稱加密)加密
- 非對稱加密與OpenSSL加密
- 非對稱加密與 jwt加密JWT
- Linux SSH是什麼?對稱加密和非對稱加密有何區別?Linux加密
- 資料加密(對稱加密和非對稱加密)加密
- 對稱加密、非對稱加密、RSA(總結)加密
- 對稱加密和非對稱加密(一)初步理解加密
- https中的對稱加密和非對稱加密HTTP加密
- 加密原理詳解:對稱式加密VS非對稱式加密加密
- 非對稱加密體系加密
- RSA 非對稱加密&解密加密解密
- Android 安全加密:非對稱加密Android加密
- Android安全加密:非對稱加密Android加密
- Java安全之對稱加密、非對稱加密、數字簽名Java加密
- 非對稱加密--RSA原理淺析加密
- golang 中,非對稱加密的實現Golang加密
- 非對稱加密技術:共享祕鑰加密
- 理解區塊鏈的非對稱加密區塊鏈加密
- 非對稱加密和數字證書加密
- 非對稱加密演算法的思考加密演算法
- 非對稱加密和證書總結加密
- 聊聊對稱/非對稱加密在HTTPS中的應用加密HTTP
- 對稱與非對稱密碼體制密碼
- Linux系統中對稱加密和非對稱加密區別是什麼?Linux加密
- 對稱加密、非對稱加密、RSA、訊息摘要、數字簽名、數字證書與HTTPS簡介加密HTTP
- 對稱、非對稱的加密技術是如何對網站資料進行雙重加密?加密網站
- golang 密碼學-2. 非對稱加密Golang密碼學加密
- RSA非對稱加密演算法淺析加密演算法
- 非對稱加密中,加解密和簽名加密解密
- 應用加密1;非對稱加密演算法揭祕加密演算法
- 前後端資料加密傳輸 RSA非對稱加密後端加密
- RSA非對稱加密演算法中的金鑰對生成與傳輸加密演算法
- 非對稱加密與安全證書看這一篇就懂了加密
- 第四篇:非對稱加密及RSA加密演算法加密演算法
- 非對稱加密演算法-RSA演算法加密演算法
- 使用phpopenssl擴充套件實現非對稱加密PHP套件加密
- Java加密技術(七)——非對稱加密演算法最高階ECCJava加密演算法