This website is under CONSTRUCTION

使用 ssh 访问 Github (从创建密钥到 clone 仓库)

最近在打编译器设计赛,帮队友配置 git 的时候发现配置 ssh 的部分每次要看好几篇文章,现在用这一篇文章就可以在一台新的 Linux 系统上快速使用 ssh 访问 Github 进行开发。

创建 ssh 密钥

$ ssh-keygen -t ed25519 -C "[email protected]"

如果不支持 ed25519,可以使用:

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

中间会需要选择密钥的创建位置等:

> Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]

密钥默认生成在 ~/.ssh/id_ALGORITHM,

ALGORITHM 即上面创建密钥时使用的算法

~/.ssh/id_ALGORITHM.pub 为公钥文件;

~/.ssh/id_ALGORITHM 为私钥文件;

添加 ssh 公钥到 GitHub

执行

$ cat ~/.ssh/id_ALGORITHM.pub

复制输出的公钥

Github User Setting -> SSH and GPG keys 页面添加 ssh 公钥。

启用 ssh agent

$ eval "$(ssh-agent -s)"

然后将我们的密钥交给 ssh-agent 管理

$ ssh-add ~/.ssh/id_ALGORITHM

~/.ssh/ 目录下新建一个 config 文件

$ touch ~/.ssh/config

编辑加入以下内容:

HOST github.com
 User git
 ForwardAgent yes

测试

现在已经配置好了 ssh 可以用以下命令进行测试:

使用这个命令检查密钥是否被加入 ssh-agent

$ ssh-add -L

使用这个命令检查是否已经可以使用 ssh 访问 Github:

$ ssh -T [email protected]

如果以上命令返回了 success ,那么已经可以使用 ssh 访问 Github了!

Clone 仓库

接着我们就能用下面的命令 clone 仓库了。

$ git clone <url>

refs:

生成新的 SSH 密钥并将其添加到 ssh-agent

使用 SSH 代理转发