一、SSH密鑰檢查?
在生成SSH密鑰之前,可以檢查是否有任何現(xiàn)有的SSH密鑰。
-
Mac打開終端:
-
輸入
ls -al ~/.ssh
以查看是否存在現(xiàn)有的SSH密鑰。$ ls -al ~/.ssh # Lists the files in your .ssh directory, if they exist
-
Windows打開Git Bash:
-
輸入
ls -al ~/.ssh
以查看是否存在現(xiàn)有的SSH密鑰。$ ls -al ~/.ssh # Lists the files in your .ssh directory, if they exist
-
Linux打開:
-
輸入
ls -al ~/.ssh
以查看是否存在現(xiàn)有的SSH密鑰。$ ls -al ~/.ssh # Lists the files in your .ssh directory, if they exist
?檢查目錄列表,看看您是否已經(jīng)有一個公共SSH密鑰。默認情況下,GitHub支持的公鑰的文件名是以下之一。
-
提示:如果您收到~/.ssh不存在的錯誤,則默認位置中沒有現(xiàn)有的SSH密鑰對。您可以在下一步中創(chuàng)建新的SSH密鑰對。
- id_rsa.pub
- id_ecdsa.pub
- id_ed25519.pub??????????????
二、SSH密鑰生成
生成SSH密鑰時,可以添加密碼來進一步保護密鑰。當使用密鑰時,必須輸入密碼。如果密鑰有密碼,并且不想每次使用密鑰時都輸入密碼,可以將密鑰添加到SSH代理中。SSH代理管理你的SSH密鑰并記住你的密碼。
可以在本地機器上生成新的SSH密鑰。生成密鑰后,可以在GitHub.com上將公鑰添加到帳戶中,以啟用通過SSH對Git操作進行身份驗證。
-
Mac打開終端:
-
粘貼下面的文本,用您的GitHub電子郵件地址替換示例中使用的電子郵件。
ssh-keygen -t ed25519 -C "your_email@example.com"
注意:如果您使用的是不支持Ed25519算法的傳統(tǒng)系統(tǒng),請使用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這將使用提供的電子郵件作為標簽創(chuàng)建一個新的SSH密鑰。
> Generating public/private ALGORITHM key pair.
當提示“輸入要保存密鑰的文件”時,可以按Enter鍵接受默認文件位置。請注意,如果之前創(chuàng)建了SSH密鑰,ssh-keygen可能會要求重寫另一個密鑰,在這種情況下,建議創(chuàng)建自定義命名的SSH密鑰。為此,請鍵入默認文件位置,并將id_ALGORITHM替換為你自定義密鑰名稱。
> Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]
-
在提示符處,鍵入安全密碼。
-
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
-
Windows打開:?
-
粘貼下面的文本,用GitHub電子郵件地址替換示例中使用的電子郵件。
ssh-keygen -t ed25519 -C "your_email@example.com"
注意:如果使用的是不支持Ed25519算法的傳統(tǒng)系統(tǒng),請使用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這將使用提供的電子郵件作為標簽創(chuàng)建一個新的SSH密鑰。
> Generating public/private ALGORITHM key pair.
當提示“輸入要保存密鑰的文件”時,可以按Enter鍵接受默認文件位置。請注意,如果之前創(chuàng)建了SSH密鑰,ssh-keygen可能會要求重寫另一個密鑰,在這種情況下,我們建議創(chuàng)建自定義命名的SSH密鑰。為此,請鍵入默認文件位置,并將id_ALGORITHM替換為自定義密鑰名稱。
> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
-
在提示符處,鍵入安全密碼。
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
-
Linux打開:?
-
粘貼下面的文本,用GitHub電子郵件地址替換示例中使用的電子郵件。
ssh-keygen -t ed25519 -C "your_email@example.com"
注意:如果使用的是不支持Ed25519算法的傳統(tǒng)系統(tǒng),請使用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這將使用提供的電子郵件作為標簽創(chuàng)建一個新的SSH密鑰。
> Generating public/private ALGORITHM key pair.
當提示“輸入要保存密鑰的文件”時,可以按Enter鍵接受默認文件位置。請注意,如果之前創(chuàng)建了SSH密鑰,ssh-keygen可能會要求重寫另一個密鑰,在這種情況下,建議創(chuàng)建自定義命名的SSH密鑰。為此,請鍵入默認文件位置,并將id_ALGORITHM替換為自定義密鑰名稱。
> Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]
-
在提示符處,鍵入安全密碼。
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
三、???????向SSH代理添加新的SSH密鑰?
-
Mac打開終端:
-
在后臺啟動ssh代理。
$ eval "$(ssh-agent -s)" > Agent pid 59566
根據(jù)環(huán)境,可能需要使用不同的命令。例如,在啟動ssh-agent之前,可能需要通過運行
sudo -s -H
來使用root訪問,或者可能需要使用exec ssh-agent bash
或exec ssh-agent zsh
來運行ssh-agent。 -
如果使用的是macOS Sierra 10.12.2或更高版本,則需要修改
~/.ssh/config
文件以自動將密鑰加載到ssh代理中并將密碼存儲在鑰匙串中。-
首先,檢查
~/.ssh/config
文件是否存在于默認位置。$ open ~/.ssh/config > The file /Users/YOU/.ssh/config does not exist.
-
如果文件不存在,請創(chuàng)建該文件。
touch ~/.ssh/config
-
打開
~/.ssh/config
文件,然后修改文件以包含以下行。如果SSH密鑰文件的名稱或路徑與示例代碼不同,請修改文件名或路徑以匹配當前的設(shè)置。Host github.com AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
備注:
-
如果選擇不為密鑰添加密碼,則應省略
UseKeychain
行。 -
如果看到
Bad configuration option: usekeychain
錯誤,請在配置的Host *.github.com
部分添加一行。Host github.com IgnoreUnknown UseKeychain
-
-
-
將的SSH私鑰添加到ssh代理中,并將密碼存儲在鑰匙串中。如果使用不同的名稱創(chuàng)建了密鑰,或者如果正在添加具有不同名稱的現(xiàn)有密鑰,請將命令中的id_ed25519替換為的私鑰文件的名稱。
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
注意:當將SSH密鑰添加到ssh代理時,
--apple-use-keychain
選項會將密碼存儲在鑰匙串中。如果選擇不向密鑰添加密碼,請在不使用--apple-use-keychain
選項的情況下運行該命令。--apple-use-keychain
選項在蘋果的標準版本的ssh-add
。在Monterey(12.0)之前的MacOS版本中,--apple-use-keychain
和--apple-load-keychain
標志分別使用語法-K
和-A
。如果沒有安裝蘋果的標準版本
ssh-add
,可能會收到錯誤。如果繼續(xù)收到輸入密碼的提示,可能需要將該命令添加到
~/.zshrc
文件(或bash的~/.bashrc
文件)。 -
Windows打開:?
? ? ? ? ? 如果安裝了GitHub Desktop可以使用它來克隆存儲庫,而不是處理SSH密鑰。
-
在新的管理提升終端窗口(PowerShell或CMD)中,確保ssh代理正在運行。可以使用“自動啟動ssh代理”說明使用SSH密鑰密碼”,或手動啟動它:
# start the ssh-agent in the background Get-Service -Name ssh-agent | Set-Service -StartupType Manual Start-Service ssh-agent
-
在沒有提升權(quán)限的終端窗口中,將SSH私鑰添加到ssh代理中。如果使用不同的名稱創(chuàng)建了密鑰,或者如果正在添加具有不同名稱的現(xiàn)有密鑰,請將命令中的id_ed25519替換為私鑰文件的名稱。
ssh-add C:\Users\YOU/.ssh/id_ed25519
-
Linux打開:?
-
在后臺啟動ssh代理。
$ eval "$(ssh-agent -s)" > Agent pid 59566
根據(jù)環(huán)境,可能需要使用不同的命令。例如,在啟動ssh-agent之前,可能需要通過運行
sudo -s -H
來使用root訪問,或者您可能需要使用exec ssh-agent bash
或exec ssh-agent zsh
來運行ssh-agent。 -
將SSH私鑰添加到ssh代理中。
如果使用不同的名稱創(chuàng)建了密鑰,或者如果正在添加具有不同名稱的現(xiàn)有密鑰,請將命令中的id_ed25519替換為你的私鑰文件的名稱。
ssh-add ~/.ssh/id_ed25519
四、SSH公鑰添加到GitHub上的帳戶中?
上一步生成密鑰之后,會提示“Your public key has been saved in xxx”,把xxx里面的內(nèi)容 ? ? ? ? ? ? 復制出來。
?
-
登錄GitHub,進入
Settings
頁面
?文章來源:http://www.zghlxwxcb.cn/news/detail-837356.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-837356.html
到了這里,關(guān)于【GIT】GitHub密鑰SSH keys添加的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!