在進行網絡通訊時,使用密鑰加密算法比使用傳統的密碼加密算法更為安全。SSH(Secure Shell),一種加密網絡協議,使用公鑰加密、私鑰解密以保證通訊的安全性。本文將詳細介紹SSH生成密鑰及相關操作。
一、ssh生成密鑰命令
ssh生成密鑰需要用到命令 ssh-keygen,該命令會生成一對密鑰(公鑰和私鑰),並默認放到 ~/.ssh 目錄下。如果執行該命令時沒有指定生成密鑰的位數,將默認生成 RSA 加密算法的 2048 位長度密鑰。
ssh-keygen
執行上述命令後,終端將分別提示輸入密鑰的名稱與密碼。如果不需要密碼保護密鑰,直接點擊 enter 鍵即可忽略密碼設置。如下所示:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
...
二、ssh生成密鑰默認長度
如上節所述,ssh-keygen 命令默認生成2048位長度的密鑰,如果需要生成其它長度的密鑰,則需要在命令中指定。
指定RSA加密算法的4096位長度密鑰:
ssh-keygen -t rsa -b 4096
指定ECDSA加密算法的256位長度密鑰:
ssh-keygen -t ecdsa -b 256
三、ssh生成密鑰和公鑰可以指定目錄么
ssh-keygen 命令可以通過參數指定密鑰和公鑰生成的目錄,如下所示:
ssh-keygen -t rsa -b 4096 -f ~/mykey
以上命令將生成一份名為 mykey 的私鑰文件和一份名為 mykey.pub 的公鑰文件,並保存在進行命令的用戶的 home 目錄下。
四、ssh生成密鑰之後本地文件沒有
ssh-keygen 命令執行生成密鑰之後,如果沒有指定生成密鑰的目錄,則默認會將密鑰和公鑰文件保存到 ~/.ssh 目錄下。如果用 ls 命令查看 ~/.ssh 目錄,可以看到 id_rsa 和 id_rsa.pub 的文件。
五、git生成ssh密鑰
在使用 Git 進行代碼庫的推送和拉取時,需要生成 SSH 密鑰才能進行代碼上傳和下載等操作。 Git 官方文檔中提供了如下指令生成 SSH 密鑰:
ssh-keygen -t rsa -C "your_email@example.com"
六、生成ssh密鑰
為了更方便地更改和管理 GitHub、GitLab、Bitbucket 等 Git 服務器上的配置和代碼,我們需要在本地生成一份可以登錄 Git 服務器的 SSH 密鑰。大部分 Git 服務器都支持以 SSH 方式進行授權,生成 SSH 密鑰的執行方式如下:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
七、linux生成ssh密鑰
Linux 中也可以使用 ssh-keygen 命令生成 ssh 密鑰。同樣的,執行以下命令生成一份密鑰:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
八、查看ssh密鑰
在生成 SSH 密鑰之後,可以通過 cat 命令查看公鑰和私鑰:
cat ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa
九、怎麼生成ssh公鑰
ssh-keygen 命令默認生成的是 RSA 加密算法的一對密鑰,而公鑰的內容就在密鑰的後綴是 .pub 的文件中。如果只需要生成公鑰而不需要生成密鑰,可以使用如下命令:
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ''
執行上述命令後,ssh-keygen 將會生成一個默認長度的 RSA 密鑰,其公鑰內容就在 ~/.ssh/id_rsa.pub 文件中。
十、生成ssh密鑰的命令選取
以上介紹了在 Linux 和 Git 中使用 ssh-keygen 命令生成 SSH 密鑰和公鑰的相關操作。選擇使用哪個命令來生成 SSH 密鑰和公鑰,需要根據具體情況和所使用的系統來進行決策。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/193403.html