使用SSH链接GitHub

关于SSH

使用SSH协议,能够链接到远程服务器和服务并进行身份验证。 使用SSH密钥,能够链接到GitHub,而无需在每次访问时都提供用户名或密码。git

生成新的 SSh Key

  1. 打开 Git Bash 并输入如下命令(用你的GitHub电子邮件地址替换命令中的电子邮件地址)github

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  2. 当看到如下命令提示时,按回车,就会把文件存在默认的路径下(能够改路径,改路径后,在后边的操做须要额外的操做,这里我不改路径)服务器

    > Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):
  3. 当看到如下命令提示时,输入自定义密码(不是GitHub密码),这个密码在链接GitHub时会用到,好比pull、push的时候ssh

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
  4. 确保生成成功fetch

    • 当在目录c/Users/you/.ssh/下看到刚才生成的文件时(id_rsa、id_rsa.pub),表示生成成功

把 SSh Key 添加到 ssh-agent

  1. 确保 ssh-agent 在运行
    • 通常状况下,都是自动启动的
    • 也能够用如下命令手动启动(输出:Agent pid 59566)
      eval $(ssh-agent -s)
  2. 把SSH 私钥添加到ssh-agent。若是你使用其余名称建立密钥,或者要添加具备其余名称的现有密钥,使用私有密钥文件的名称替换命令中的id_rsa。
    ssh-add ~/.ssh/id_rsa

把SSH Key添加到Github帐号中

将新的SSH密钥添加到GitHub账户后,就能够从新配置任何本地仓库以使用SSH。网站

  1. 复制SSH Keyurl

    • 执行命令复制
      clip < ~/.ssh/id_rsa.pub
    • 打开c/Users/you/.ssh/id_rsa.pub文件手动复制
  2. 在GitHub网站页面,点击右上角的我的头像,点击Settingscode

    GitHub Settings

  3. 点击左侧栏目中的“SSH and GPG keys”blog

    SSH and GPG keys

  4. 点击右上角的“New SSH key”ip

    New SSH key

  5. 在打开的页面中的Title中填入这个key的描述,如Company Computer;在Key中粘贴复制的SSH Key;而后点击Add SSH Key按钮

    Add SSH key

  6. 在弹出的页面中输入Github密码

  7. 完成添加

把本地仓库的远程URL从HTTPS切换到SSH

  1. 打开Git Bash
  2. 切换到本地仓库根目录
  3. 查看当前仓库使用的仓库地址
    git remote -v
    > origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
    > origin  https://github.com/USERNAME/REPOSITORY.git (push)
  4. 切换
    git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
  5. 验证
    git remote -v
    # Verify new remote URL
    > origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
    > origin  git@github.com:USERNAME/REPOSITORY.git (push)
  6. 其余方法
    打开本地仓库目录中的.git文件夹,找到config文件,修改其中的url值

最后

到此,切换完成。后续的pull、push等操做就会使用SSH了

若是忘记了SSH Key密码

从新生成一个SSH Key,添加到github便可