许多 Git 服务器都使用 SSH 公钥进行认证。这个过程在所有操作系统上都是相似的。 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh
目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts config id_dsa.pub
我们需要寻找一对以 id_dsa
或 id_rsa
命名的文件,其中一个带有 .pub
扩展名。 .pub
文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有 .ssh
目录),你可以通过运行 ssh-keygen
程序来创建它们。 在 Linux/macOS 系统中,ssh-keygen
随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。
输入ssh-key-gen -o命令生成公钥,期间如果需要输入内容,敲回车即可。生成完毕,会提示你公钥和私钥的生成位置,比如下图所示公钥生成在/home/schacon/.ssh/id_rsa.pub,私钥生成在
/home/schacon/.ssh/id_rsa
最后读取公钥文件,输出的内容即是公钥,复制到你需要方的地方即可,比如github, gitlib, gitee等地方,这样下次就可以正常clone仓库了。
$ cat ~/.ssh/id_rsa.pub