MacOS 配置github密钥
1. 生成GitHub的SSH密钥对
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_github
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_github
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
其中
[email protected] 是注册github、gitee和gitlab的绑定账号的邮箱
-t ed25519:生成密钥的算法为ed25519(ed25519比rsa速度快,也是gitee默认推荐算法
-C "你的箱":表示以这个邮箱生成ed25519算法密钥
--f ~/.ssh/id_ed25519_github:表示生成的私钥和公钥的指定路径和文件名
一路回车默认生成公钥和私钥
2.1 查看私钥
cat ~/.ssh/id_ed25519_github
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
2.2 查看公钥
cat ~/.ssh/id_ed25519_github.pub
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
带有.pub的是公钥,不带的是私钥。其中公钥是自己可以存放到其他需要和自己电脑通信的服务器上,私钥是不能泄露的。
3.1 Github添加公钥,用文本编辑器打开 id_ed25519_github.pub,把里面内容全部复制到 github账户头像 的 settings(设置) 下面的 SSH and GPG keys(SSH and GPG 密钥) 密钥操作区域,如下图所示:
添加完之后可以看到这样提示添加成功的字样。
用下面这行命令来测试是否可以链接成功
ssh -T [email protected]
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
结果遇到提示了这样的,表示SSH 密钥没有正确设置或没有被 GitHub 识别
[email protected]: Permission denied (publickey).
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
解决办法:
Git 使用 SSH agent 来管理你的密钥。你需要确保 SSH agent 正在运行并且已经加载了你的私钥。以下是如何检查和加载密钥的方法:
启动 SSH agent(如果还没启动):
eval "$(ssh-agent -s)"
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
将你的私钥添加到 agent:
ssh-add ~/.ssh/id_ed25519_github
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
如果出现 Could not open a connection to your authentication agent
错误,可以在启动 SSH agent 后重新运行上述命令。
确保你的公钥(~/.ssh/id_ed25519_github.pub
)已正确添加到 GitHub 账户中。以下是如何确认:
在 GitHub 上检查公钥:
进入 GitHub SSH 设置。
确保你复制的公钥内容已列在 GitHub 上。如果没有,请重新添加,复制公钥内容并粘贴到 "Key" 字段。
确保你使用的 SSH 公钥和私钥是正确的:
你的 私钥 应该是 ~/.ssh/id_ed25519_github
。
你的 公钥 应该是 ~/.ssh/id_ed25519_github.pub
。
你可以通过以下命令测试 SSH 配置是否工作正常:
ssh -T [email protected]
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
如果一切正常,你应该看到如下消息:
Hi <用户名>! You've successfully authenticated, but GitHub does not provide shell access.
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
如果上述配置遇到问题可以参考下面这种生成密钥的方式去做
生成密钥
ssh-keygen -t rsa -C "[email protected]"
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
然后一路回车生成对应的密钥对,把生成的公钥复制到github的ssh配置里。
查看公钥
cat ~/.ssh/id_rsa.pub
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
复制公钥信息粘贴到github的SSH
最后来检测链接
ssh -T [email protected]
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
参考文章:
MacOS 同时配置github、gitee和gitlab密钥 - CoderManolin - 博客园
data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://zhouyx.blog.csdn.net/article/details/144147990","extend1":"pc","ab":"new"}">>
评论记录:
回复评论: