一、 检查本地是否存在SSH key
输入 ls -al ~/.ssh 命令,如果发现有 id_rsa 和 id_rsa.pub ,则说明本地已存在SSH key了,可以选择直接跳到第 三 步。如果没有的话,就接着走流程。
ps:我这里使用的 git 的 git-bash 进行输入命令的。
$ ls -al ~/.ssh
total 22
drwxr-xr-x 1 idmin 197121 0 9月 2 11:10 ./
drwxr-xr-x 1 idmin 197121 0 9月 10 16:15 ../
-rw-r--r-- 1 idmin 197121 1675 9月 2 10:36 id_rsa
-rw-r--r-- 1 idmin 197121 401 9月 2 10:36 id_rsa.pub
-rw-r--r-- 1 idmin 197121 195 9月 2 11:10 known_hosts
二、. 生成新的SSH key
1. 生成 id_rsa 和 id_rsa.pub
在命令行输入 ssh-keygen -t rsa -C “your_emial@examle.com” ,引号内是你的邮箱地址。
$ ssh-keygen -t rsa -C "your_emial@examle.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/idmin/.ssh/id_rsa):
/c/Users/idmin/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/idmin/.ssh/id_rsa
Your public key has been saved in /c/Users/idmin/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:oXlXFrMOnMunk5wCO7BnYldvX1dOxaKoo9OebF38DUU your_emial@examle.com
The key's randomart image is:
+---[RSA 3072]----+
| o |
| . . + .E|
| . + + ..o|
| o o B . .o|
| . + S =.+ .o|
| o = = =o .o.|
| + *.+.O. ..oo|
| . =.+o=.o ....|
| .++ . |
+----[SHA256]-----+
运行成功后,默认会在 /c/Users/Administrator/.ssh/ 路径下生成 id_rsa 和 id_rsa.pub 文件。
途中会有些地方停住,我这里都是按得回车键直接跳过的,然后 Overwrite (y/n)? 这里输入一个 y 就行了。
当然,你也可以配置一下 passphrase ,这样每次与GitHub远程通讯的时候,都需要输入 passphrase ,这样可以避免一些 误操作 。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
2. 将新生成的key添加到ssh-agent中
输入命令 eval “$(ssh-agent -s)” 。
$ eval "$(ssh-agent -s)"
Agent pid 299
输入 ssh-add ~/.ssh/id_rsa ,将将新生成的key添加到ssh-agent中。
$ ssh-add ~/.ssh/id_rsa
Identity added: /c/Users/idmin/.ssh/id_rsa (your_emial@examle.com)
三、将SSH key添加到 GitHub 上
打开id_rsa.pub文件,里面的内容即为SSH key,直接复制出来添加到ssh管理里面就可以了。
ps:我这里用的是GitLab