用SSH配置github账号

简介
ssh 是一种网络协议,用于计算机之间的加密登录。
在类 linux 电脑中,提供了按照 ssh 协议实现的脚本命令。
ssh man page
协议和 ssh 的关系类似于SCM: 版本控制系统和git。
最常见的使用场景是,向 github、gitlab 类网站添加 ssh 公钥,完成对电脑的授信。
ssh认证流程
初始化配置
下面是初始化 ssh-key 并配置到 github 上
1 | # 全局配置git用户名和邮箱 |
秘钥
1 | cat id_rsa.pub |
公钥
复制公钥内容后,按照图示将其添加到 github 中(完成添加流程)
多实例配置
初始化配置里,直接通过删除(覆盖)原有 ssh key 来添加新的秘钥。
但现实场景中,一台机器可能要在多个网站上添加不同的公钥: 公司使用公司邮箱生成的公钥、个人使用个人邮箱生成的公钥。那怎样才能在一台机器上添加多个秘钥,并让其自动发挥效用呢?
下为此问题的解决记录。
1 | # 检查机器默认位置,是否已有ssh配置 |
添加指定公钥
1 | # ssh agent(ssh 代理)用来管理一个多个ssh密钥,并为其他需要使用ssh key的程序提供代理,详见参考文章-4 |
1 | # 在.ssh目录下创建config文件,ssh通过这个才知道哪个私钥去对应哪个公钥 |
在 config 文件中输入以下文本:
1 | # self github |
1 | # 配置完成后,测试秘钥是否配置成功 |
以上,所有配置就完成了,在电脑上通过 ssh 去访问配置好的网站吧~~
参考文章:
1. SSH 原理与运用(一):远程登录
2. Secure Shell
3. 什么是 SSH?
4. ssh agent 详解