3.mac上生成SSH key与GitHub通信

2022-03-07 15:56:20 浏览数 (1)

1.检查 SSH key 是否存在

在终端输入:

代码语言:javascript复制
ls -a ~/.ssh

如果没有,终端显示如下:

No such file or directory

如果已经存在,则会显示 id_rsa 和 id_rsa.pub

  • 查看 .ssh
代码语言:javascript复制
ls -a ~/.ssh

cd .ssh
cat id_rsa.pub //查看公钥
cat id_rsa     //查看私钥

2.生成新的 SSH key

1.设置 username 和 email(github 每次 commit 都会记录他们)
代码语言:javascript复制
git config --global user.name "Leader755"
git config --global user.email "1181012791@qq.com"
2.通过终端命令创建 ssh key
代码语言:javascript复制
//其中 your_email@example.com 为你在 GitHub 注册时的邮箱
'ssh-keygen -t rsa -C "1181012791@qq.com"

Bad escape character ‘ygen’ 错误原因!

ssh-keygen -t rsa -C “邮箱” ssh-keygen 命令中间没有空格,如果在 ssh 后面加上空格,会得到 Bad escape character ‘ygen’.的错误。

成功后终端显示如下:

Generating public/private rsa key pair. Enter file in which to save the key (/Users/xxx/.ssh/id_rsa):

提示你保存 .ssh/id_rsa 的路径,这里直接 enter

Created directory ‘/Users/xxx/.ssh’. Enter passphrase (empty for no passphrase):

提示输入 passphrase,每次与 GitHub 通信都会要求输入 passphrase,以避免某些「失误」,建议输入 这里有个问题需要注意,那就是当你在这里输入密码,以后在连接 gitHub 去 push 代码的时候都需要输入密码,非常蛋疼,所以在这里最好直接回车过即可,不用输入密码。**()**

3.即连续 enter 3 次,就会生成 key。

成功后终端显示:

Your identification has been saved in /Users/xxx/.ssh/id_rsa. Your public key has been saved in /Users/xxx/.ssh/id_rsa.pub. The key fingerprint is: 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 your_email@example.com The key’s randomart image is:(后面图形省略)

3.添加 key 到 SSH

输入命令:

代码语言:javascript复制
ssh-add ~/.ssh/id_rsa

此时会要求输入 passphrase,输入步骤二中填的 passphrase 成功后,终端显示:

Identity added: /Users/xxx/.ssh/id_rsa (/Users/xxx/.ssh/id_rsa)

最后,在 /Users/xxx/.ssh/ 生成两个文件,id_rsa 和 id_rsa.pub 此时,SSH key 已经生成成功

4.添加 SSH key 到 GitHub 和 coding

1.复制 id_rsa.pub 中的所有内容,

打开 id_rsa.pub,终端命令:

代码语言:javascript复制
vim/cat   ~/.ssh/id_rsa.pub

手动复制以 ssh-rsa 到以 your_email@example.com 结尾的所有内容

或者直接输入命令复制 id_rsa.pub 中的所有内容,终端命令:

代码语言:javascript复制
pbcopy < ~/.ssh/id_rsa.pub

5.登录 GitHub 和 coding

github:打开个人 Settings–>SSH keys–>Add SSH key
coding:打开个人设置–>SSH 公钥 –>新增公钥

Title 随便写 Key 粘贴之前复制的内容 这样 SSH key 就添加的 GitHub 或者 coding.

6.检测 SSH key

输入命令:

代码语言:javascript复制
ssh git@github.com

此时会验证 SSH key 是否可以访问 GitHub 成功显示如下:

Hi your_name! You’ve successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.

以上为提示内容,不过这里还是有一个需要注意的地方,如果没有上面的成功提示输出的话也不要害怕,我们可以先自己在本地建立一个 gitHub 仓库,然后进行 push 操作,如果 push 成功那么设置是成功的,如果 push 不上去的话再去检查。

7.使用 git 去创建一个 ssh key 就完成了

8.已经存在 ssh,创建新密钥

1>进入 ssh 目录

代码语言:javascript复制
cd ~/.ssh/

2>用 ssh-keygen 命令生成一组新的 id_rsa_new 和 id_rsa_new.pub

代码语言:javascript复制
ssh-keygen -t rsa -C "new email"

需要注意,出现提示输入文件名的时候要输入与默认配置不一样的文件名,比如: id_rsa_new

3>执行 ssh-agent 让 ssh 识别新的私钥

代码语言:javascript复制
ssh-add ~/.ssh/id_rsa_new

4>添加 SSH 到钥匙串

代码语言:javascript复制
ssh-add -K KeyPathOrKeyName

0 人点赞