1

使用SSH连接GitHub

  你可以使用SSH连接GitHub

关于SSH

  使用SSH协议,你可以连接并且验证到远程服务器和服务。使用SSH Key,你可以不用每次提供你的用户名和密码就可以连接到GitHub。

检查已经存在的SSH Key

  在你创建一个SSH Key时,你要检查下你是否已经有了存在的SSH keys。

  1. 打开Git Bash
  2. 输入ls -al ~/.ssh看是否存在SSH Key
  3. 检查路径列表下是否已经存在一个公共的SSH Key

  如果你没有存在的公私秘钥对,或者你不希望使用已存在的去连接GitHub,你可以生成一个新的SSH Key.
  如果你看到了已经存在的公私秘钥对,并且你也想使用它们去连接GitHub,你可以将你的SSH Key导入到ssh-agent中。

创建一个新的SSH Key

  在已经检查了是否有存在的SSH Key之后,你可以生成一个新的SSH Key用来认证,并且添加到ssh-agent中。

  1. 打开Git Bash
  2. 复制如下代码,并将邮箱替换成你的GitHub Email
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    这将会使用你提供的email作为标签,创建一个新的SSH Key
  3. 当你确认“输入文件保存key”,按回车键。将会保存到默认的地址,也可以自定义保存地址:
    /C/User/Lionel/.github/id_rsa
  4. 在确认的时候输入一个安全口令。
    图片描述

将SSH Key添加到ssh-agent

  1. 确保ssh-agent正在运行
    eval $(ssh-agent -s)
    输出:Agent pid 432
  2. 添加你的SSH私钥到ssh-agent,输入之前设置的安全口令
    ssh-add ~/.github/id_rsa
    图片描述
  3. 添加SSH Key到你的Github账户

添加一个新的SSH Key到GitHub账户

  1. 将SSH Key复制到粘贴板
    clip < ~/.ssh/id_rsa.pub
  2. 点击个人资料里面的Settings
  3. 点击SSH and GPG keys.
  4. 点击 New SSH key or Add SSH key.
  5. 输入TitleKey并保存

测试SSH连接

  1. 打开Git Bash
  2. 输入ssh -T git@github.com
    图片描述

问题处理

  1. 将公钥添加到GitHub后,每次提交还要输入用户名与密码
    原因:本地仓库和远程仓库的连接是通过Https协议连接的,将Https协议换成SSH协议,重新导入本地仓库。
    图片描述
    图片描述
  2. Permission denied (publickey)
    图片描述

    确保打开ssh-agent:eval "$(ssh-agent -s)"
    检查你的私钥添加到ssh-agent:ssh-add -l

说明

  本文翻译自GitHub官方文档说明。官方连接


柚花离海
6 声望0 粉丝