注意:只适用于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