檢查本機是否已經存在ssh key配置
使用目錄及文件方式驗證
進入~/.ssh/目錄
cd ~/.ssh/
若沒有該文件夾,則會提示No such file or directory,則表明無此配置。
若有該文件夾,會進入到文件夾中,此時使用ls查看文件夾內容。
若如圖所示存在1個以上文件,且存在2個文件名相同擴展名不同得文件,則表示之前存在過ssh key配置。
生成ssh key方式驗證
可以參考後續生成ssh key的內容。
生成SSH key
使用命令設置git的username和email:
git config --global user.name “xuzhangzheng“
git config --global user.email “[email protected]”
其中xuzhangzheng和[email protected]爲你在gitHub或gitlab的用戶名和郵箱,如圖所示:
使用命令生成公鑰私鑰:
ssh-keygen -t rsa -C “[email protected]”
這時會出現如圖粉色框選部分的提示:
當出現Enter file in which to save the key時,直接敲回車即可。
注意:該句詢問的是你是否要將生成的密鑰存入名爲id_rsa的文件中。
敲回車的話相當於使用默認名稱id_rsa。
此處也可以輸入自定義名稱,輸入完畢後敲回車即可。
當出現Enter passphrase (empty for no passphrase)時,直接敲回車即可。
注意:該句是詢問你是否要設置密碼,該密碼允許爲空。所以不設置的話直接敲回車即可。
當出現Enter same passphrase again時,直接敲回車即可。
注意:該句是提示你輸入之前設置得相同得密碼,若之前設置了密碼,則該處需要填寫相同的密碼;若之前未設置密碼,此處直接敲回車即可。
上述操作完畢後,若出現如圖中綠色框選提示及框選下方得提示,表示已生成ssh key。
執行完成後,出現如下畫面即爲生成密鑰成功:
同時,在~/.ssh/目錄下會生成2個文件:id_rsa和id_rsa.pub ,如圖所示:
id_rsa爲生成的私鑰,id_rsa.pub爲生成的公鑰。
後續會使用到私鑰和公鑰。
注意:
若在生成過程中,若出現如下圖提示的話,請看後續解決方案:
若電腦之前已經配置了ssh key的話,且存儲公鑰、私鑰的文件名稱也是默認的id_rsa命名的。當你在生成ssh key,出現Enter file in which to save the key提示是否需要修改存儲公鑰私鑰文件名稱時,若使用的是默認的文件名稱id_rsa的話,會出現如下提示:/c/User/Administrator/.ssh/id_rsa already exists Overwrite(y/n)?
表示該文件已存在,是否覆蓋。
針對這種情況有3種解決方案:
1)在生成ssh key提示Enter file in which to save the key時,不使用默認生成的文件名稱id_rsa。如圖:
框選的部分便是自己設置的文件命名,同時生成ssh key後,我們在~/.ssh/目錄下ls查看一下內容,可以看到有xuzhangzheng@ljldata和[email protected]兩個文件,即爲公鑰和私鑰。
2)進入~/.ssh/文件夾中,執行rm 文件名命令,刪除指定文件後即可再生成存儲公鑰和私鑰文件。如圖:便沒有提示是否需要重寫覆蓋已存在文件的選項。
3)在提示/c/User/Administrator/.ssh/id_rsa already exists Overwrite(y/n)?輸入y,選擇重寫之前的文件。如圖:
重寫後使用ls在~/.ssh/查看內容,如圖:
注意:如果選擇重寫覆蓋之前的文件的話,之前配置的ssh key就無法繼續使用了,故請謹慎選擇。
其中第二點和第三點產生得結果是一樣的,都可以實現生成ssh key的目的,但都存在一個問題,一但這樣操作的話,在此之前的賬戶就無法使用了,因爲公鑰和私鑰不存在了。
若使用第二點,不會出現是否重寫覆蓋之前文件的提示,原因是因爲直接把之前的ssh key文件刪除了,使用默認名稱id_rsa時系統檢測不存在該名稱的文件,故可以生成ssh key 。
若使用第三點,直接重寫覆蓋id_rsa文件,也能達到重新生成公鑰和私鑰的目的 。
至此,本機的ssh key已經生成好了。
相關文章:
關於SSH Key的使用和公鑰在gitHub、gitLab的配置等,請參考文章:Git使用手冊:使用SSH Key及配置SSH key公鑰
關於GIT 工作區、暫存區、本地倉庫、遠程倉庫的概念及關係,請參考文章:Git使用手冊:工作區、暫存區、本地倉庫、遠程倉庫
關於GIT 從遠程倉庫下載項目到本地工作區的操作,請參考文章:Git使用手冊:git clone 克隆下載遠程倉庫項目工程到本地工作區
關於GIT 分支使用詳解,請參考文章:Git使用手冊:git branch 分支操作、創建分支、查看分支、刪除分支、刪除本地分支、刪除遠程分支
關於GIT Checkout的使用,請參考文章:Git使用手冊:git checkout 創建分支、切換分支
關於Git status命令使用解讀,請參考文章:Git使用手冊:git status 查看本地工作區、暫存區中文件的修改狀態
關於Git diff和Git add命令使用,請參考文章:Git使用手冊:git diff 、 git add 、 git diff --cached 命令詳解
關於Git commit命令使用詳解,請參考文章:Git使用手冊:git commit -m/-am/-a -m 提交文件至本地倉庫區
關於Git fetch命令使用,請參考文章:Git使用手冊:git fetch 將遠程倉庫的分支及分支最新版本代碼拉取到本地
關於Git pull命令使用,請參考文章:Git使用手冊:git pull origin 拉取代碼到本地,解決拉取代碼時發生的文件衝突
關於Git push命令使用,請參考文章:Git使用手冊:git push 推送提交本地倉庫代碼文件到遠程倉庫
關於Git log命令使用,請參考文章:Git使用手冊/Git教程:git log 查看git提交日誌記錄
如您有其他問題,希望可以通過留言得形式及時交流,有書寫錯誤和可優化的地方也希望及時提出,感謝。
---------------------
作者:許章正
來源:CSDN
原文:https://blog.csdn.net/u013374164/article/details/78422968
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!