注意:只適用于Mac和windows下的Git Bash操作界面 【/c/Users/worke 為當前演示的計算機用戶目錄】
1.檢測
實現查看當前電腦上是否存在 SSH Key (本次演示是在Window電腦上完成的)
命令如下:
Window: ls -al ~/.ssh (如果沒有會提示: No such file or directory)
Mac: open ~/.ssh
備注:如果已存在SSH key,那么就會顯示 id_rsa 和 id_rsa.pub文件的存在以及它的創建日期
2.生成新的SSH key
首先在終端輸入:
ssh-keygen -t rsa -C "your_email@example.com"
備注:your_email@example.com 為你在 GitHub或者GitLab 注冊時的郵箱
回車后終端會顯示:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/worke/.ssh/id_rsa):
備注:
提示你保存 .ssh/id_rsa 的路徑是/c/Users/worke/.ssh/id_rsa,直接按回車。
這里有一點,如果已經存在SSH key你想要使用以上操作重新生成的話會提示一你不是要重新生成,直接輸 y 并按回車
然后終端會提示:
Created directory '/c/Users/worke/.ssh'.
Enter passphrase (empty for no passphrase):
備注:
提示設置 passphrase,每次與 Git 通信都會要求輸入 passphrase,以避免某些錯誤的操作所導致的問題, 建議設置一下。
回車,成功后終端會提示:
Your identification has been saved in /c/Users/worke/.ssh/id_rsa.
Your public key has been saved in /c/Users/worke/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:JZZWCwi1rIR/aypfyf0E9CPrFmm2f98dkGCQACdT6yk .@*.cn
The key's randomart image is:
+---[RSA 3072]----+
| .+=o.o |
| . .=..=.. |
| . . o. oo |
| o ..+.+. . . |
| oE.oS.o o |
| o.+=+ . . |
| *ooo. . |
| . + .oo . .o|
| oo ...o. .. o|
+----[SHA256]-----+
然后在終端輸入:
ssh-add ~/.ssh/id_rsa
此時會要求輸入上面步驟里所填的 passphrase 成功后,終端顯示:
Identity added: /c/Users/worke/.ssh/id_rsa (/c/Users/worke/.ssh/id_rsaa)
最后,在 /c/Users/worke/.ssh/id_rsa 生成兩個文件,id_rsa 和 id_rsa.pub
最后在終端輸入:
cat /Users/xxx/.ssh/id_rsa.pub
終端就會顯示你的SSH key了,直接復制就可以了。然后配置在你的github或者GitLab賬號上就好了。
本機操作如下:
cat /c/Users/worke/.ssh/id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABgQCjWHLqXlsllf++gGJNf4+cm1ZAKHIh2oOskp/fYhbBuSQgmWAhCu0gUDnUGJlTjYA9hE8QRvQOemydz51cbFgl26Tt/zxR5J+G4bNbhUa1W6viKDmFbi/yIo6ja0QwFAwBBlAg/vZrBWSfjm5JEnon/FYPnTr3ZZQoXeDrr/qVD+bQy1DJQ5GhZOSHabAkiG+cKFzu2yhw43mZit+olPXBLOumolmIBpfz7u22xN/AOkJpmlSBKm7hcq4lfzJOd24+fMWjeR3/tbfvZZejRmuU4Jv+D0J7jRlwwFLiscd9PRwnaj0jI356McXh0NDxl7mrqHYSl5xlpbA2Hyl8GaL55QFNE7gbFsf1DIm2lKDK8X12nT7xMS0Acz2TxE4vYCntINAt4v4nFVTaW5E9LB5dGoSOfU18vmjfiyvS8+L5lsxPeLD5KFFwHY1BNvFMnDRUHgvOg2EgSRo3UQHb+Lw/WzcccVbcczLh4xdIiRwNyb0s4uVQ0ha0GzRjLfxG6vk= .@***.cn