/ Git

Git 公钥提交

为了避免每次提交都输入用户名和密码,大多数 Git 服务(比如 GitHub、GitLab 和 BitBucket等)都提供 SSH 公钥认证。要实现公钥提交,需要先生成 SSH 密钥组(公钥和私钥),再把公钥上传到服务器即可。

生成公钥


在 Linux 和 Mac 系统,用户的密钥保存在 ~/.ssh 目录下。先在该目录下判断公钥 id_dsa 和私钥 id_dsa.pub 文件是否存在。如果不存在,则需要事先生成。

要生成公钥和私钥,在终端执行

ssh-keygen

然后一些选项,这时按回车键即可。这时再查看 ~/.ssh 目录,就会发现密钥已经生成好了。

公钥设置


这里以 GitHub 为例,讲一下公钥的设置方法。

在 Github 的设置页面,找到 SSH and GPG keys 设置。

点击 New SSH key

查看公钥的内容并复制

填写表单并保存(Title 可以随便填写)

这样,公钥就被添加到 GitHub 上了,以后每次提交的时候就不用那么麻烦的输入用户名和密码了。

Happy Coding with Git!

注意


要说明的一点就是,一个密钥只能由一个 GitHub 账号使用,不能同时添加到多个 GitHub 账号中。

另外GitLab 和 BitBucket 等 Git 服务的 SSH 密钥配置跟 GitHub 大同小异,找到 SSH 密钥设置并添加即可。

补充


** Windows 系统 **

关于 Windows 系统下 SSH 密钥的配制方法。

  1. 安装 Git;
  2. 打开 Git Bash;
  3. 执行 ssh-keygen 生成密钥组。
  4. 在用户目录下找到 .ssh文件夹并打开。
  5. 用记事本打开 id_dsa.pub 文件,并复制到 GitHub 中。

** 自建服务 **

如果是自建的 Git 服务器,则需要把生成的密钥提交给服务器管理员,让管理员把密钥追加到 Git 用户 .ssh 目录下的 authorized_keys 文件即可。