mac系统如何生成SSH key与GitHub通信

一、检查 SSH key 是否存在

在终端输入:

ls -al ~/.ssh

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

No such file or directory

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

二、生成新的 SSH key

在终端输入:

ssh-keygen -t rsa -C "your_email@example.com"

其中 your_email@example.com 为你在 GitHub 注册时的邮箱

成功后终端显示如下:

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代码的时候都需要输入密码,非常蛋疼,所以在这里最好直接回车过即可,不用输入密码。

成功后终端显示:

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:(后面图形省略)

三、添加 key 到 SSH

输入命令:

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 已经生成成功

四、添加 SSH key 到 GitHub

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

打开 id_rsa.pub,终端命令:

vim ~/.ssh/id_rsa.pub

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

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

pbcopy < ~/.ssh/id_rsa.pub

2.登录 GitHub

打开个人 Settings-->SSH keys-->Add SSH key

Title 随便写

Key 粘贴之前复制的内容

这样 SSH key 就添加的 GitHub

五、检测 SSH key

输入命令:

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不上去的话再去检查。

### 如何在 GitHub生成 SSH 密钥 为了能够在 GitHub 上安全地进行操作,可以通过创建一对 SSH 密钥来实现更便捷的身份验证方式。具体过程涉及几个重要环节。 #### 创建 SSH 密钥对 通过终端执行特定命令可生成新的 SSH 密钥对。对于 RSA 类型的密钥,可以运行如下命令: ```bash ssh-keygen -t rsa -b 4096 ``` 此命令将会提示指定保存位置以及设置密码保护[^4]。 #### 启动 SSH Agent 并加载私钥 为了让本地计算机能够识别刚生成SSH 私钥,在每次新开终端窗口时都需要激活 SSH agent,并向其注册该私钥。这一步骤可通过下面两条指令完成: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 ``` 这里假设使用的 ED25519 算法生成了名为 `id_ed25519` 的私钥文件[^2]。 #### 复制公钥至剪贴板 一旦完成了上述步骤,则需将对应的公共部分(即 `.pub` 文件中的内容)复制到系统的剪贴板以便后续上传给 GitHub。如果使用的是基于 OpenSSH 的环境,默认情况下可以直接利用以下命令完成这一任务: ```bash pbcopy < ~/.ssh/id_rsa.pub ``` 注意这里的路径应指向实际存在的公钥文件;如果是按照前面提到的方式生成 ED25519 密钥,则可能是 `~/.ssh/id_ed25519.pub` 而不是传统的 RSA 格式[^3]。 #### 添加 SSH 公钥到 GitHub 帐户 最后也是最关键的一步就是把刚刚获取到的公钥字符串添加进 GitHub 用户配置里。访问网站上的个人设置页面找到 "SSH and GPG keys" 部分点击 “New SSH key”,输入合适的标题名称并将之前拷贝好的公钥文本粘贴进去提交即可。 这样就实现了从无到有构建起一套完整的用于连接 GitHubSSH 认证机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值