利用 SSH Key 来使用 GitHub

所需要的有三个步骤

  1. 生成密钥
  2. 将密钥添加到 ssh-agent 中
  3. 将公钥添加到 GitHub 账户中

下面将分别展开这三个步骤。

先规定一下一些需要自己编写的文件名称

  • <key_file_name>, 密钥文件名称,对应的公钥文件名称为 <key_file_name>.pub
  • <email_address>, 使用的电子邮件地址
  • <github_username>, GitHub 用户名
  • <repo_name>, GitHub 上的项目名称

生成密钥

在终端中运行

# Generating a new key 
ssh-keygen -t <key_file_name> -b 4096 -C "<email_address>"

添加到 ssh-agent 中

启动 ssh-agent

eval "$(ssh-agent -s)"

如果你和我一样用的是 macOS Mojave,请编辑 ~/.ssh/config 如下形式:

Host
    AddKeysToAgent yes
    UseKeychain yes
    IdntityFile <key_file_name>

将密钥添加到 ssh-agent 中

ssh-add -K <key_file_name>

添加到 GitHub 中

拷贝公钥内容

pbcopy < ~/.ssh/<key_file_name>.pub

在 GitHub 上粘贴公钥内容 settings/SSH and GPG keys/SSH kets/New SSH key

将本地的 Git Repo 发布到 GitHub 中

我以前喜欢用 GitHub 客户端,是因为它将各种功能都封装进了图形界面中,但是如果知道原理,这件事其实很简单。

不管是一个空目录(至少应当运行过 git init),还是一个已经创建了的 git 目录,

本质上就是将本地项目的远端设置为 GitHub 上的远端,即:

git remote add origin git@github.com:<github_username>/<repo_name>.git
git push -u origin master

参考资料

Comments
Write a Comment