zoukankan      html  css  js  c++  java
  • 使用SSH密钥连接Github

    使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码。如果使用SSH,就可以记住用户名,并创建属于自己 的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦。下面将介绍如何创建SSH Keys并将公钥加到GitHub账户中,使用SSH Keys在本机和GitHub之间建立一个安全的连接。

    一、Windows环境下生成SSH key且连接GitHub

    第一步、看看是否存在SSH密钥(keys)

    首先,我们需要看看是否看看本机是否存在SSH keys,打开Git Bash,并运行:

    检查你本机用户home目录下是否存在.ssh目录

    如果,不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

    第二步、创建一对新的SSH密钥(keys)

    输入如下命令:

    直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/c/Users/you/.ssh/github_rsa

    接着,根据提示,你需要输入密码和确认密码(说到这里,如果你很放心,其实可以不用密码,就是到输密码的地方,都直接回车,所以每次push就只管回车就行了。所谓的最安全的密码,就是没有密码  – –  哈哈)。相关提示如下:

    输入完成之后,屏幕会显示如下信息:

    第三步、在GitHub账户中添加你的公钥

    运行如下命令,将公钥的内容复制到系统粘贴板(clipboard)中。

    接着:

    1. 登陆GitHub,进入你的Account Settings.
    userbar-account-settings

    2. 在左边菜单,点击”SSH Keys”.

    settings-sidebar-ssh-keys

    3. 点击”Add SSH key”按钮.ssh-add-ssh-key

    4. 粘贴你的密钥到key输入框中.ssh-key-paste

    5. 点击”Add Key”按钮。

    ssh-add-key

    6. 再弹出窗口,输入你的GitHub密码,点击确认按钮。

    7. 到此,大功告成了!

    第四步、测试

    为了确认我们可以通过SSH连接GitHub,我们输入下面命令。输入后,会要求我们提供验证密码,输入之前创建的密码就ok了。

    你可能会看到告警信息,如下:

    不用担心,直接输入yes。

    如果看到下面信息,就说明一切完美!

    Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

    二、Mac环境下生成SSH key且连接GitHub

    第一步、看看是否存在SSH密钥(keys)

    首先,我们需要看看是否看看本机是否存在SSH keys,打开终端(Terminal),并运行:

    $cd ~/.ssh
    # 检查你本机用户home目录下是否存在.ssh目录
    如果,不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

    第二步、创建一对新的SSH密钥(keys)

    输入如下命令:

    直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/Users/you/.ssh/github_rsa

    接着,根据提示,你需要输入密码和确认密码。相关提示如下:

    输入完成之后,屏幕会显示如下信息:

    第三步、在GitHub账户中添加你的公钥

    运行如下命令,将公钥的内容复制到系统粘贴板(clipboard)中。

    pbcopy < ~/.ssh/id_rsa.pub
    接着:

    1. 登陆GitHub,进入你的Account Settings.

    userbar-account-settings

    2. 在左边菜单,点击”SSH Keys”.

    settings-sidebar-ssh-keys

    3. 点击”Add SSH key”按钮.

    ssh-add-ssh-key

    4. 粘贴你的密钥到key输入框中.

    ssh-key-paste

    5. 点击”Add Key”按钮。

    ssh-add-key

    6. 再弹出窗口,输入你的GitHub密码,点击确认按钮。

    7. 到此,大功告成了!

    第四步、测试

    为了确认我们可以通过SSH连接GitHub,我们输入下面命令。输入后,会要求我们提供验证密码,输入之前创建的密码就ok了。

    $ ssh -T git@github.com
    你可能会看到告警信息,如下:

    不用担心,直接输入yes。

    如果看到下面信息,就说明一切完美!

    Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
    【注意】

    如果前面没有将生成的密钥存放在默认的文件id_rsa中(而是my_rsa中),那么ssh -T git@github.com命令就需要添加参数来执行。如下:

    $ ssh -T -i my_rsa git@github.com

    三、单机如何控制不同的SSH Keys连不同的Git环境?

    其实,一套SSH密钥是可以用在不同的SSH环境的.

    但是如果由于某种要求,需要用不同的SSH密钥连接不同的Git环境。假设具体场景是,已经建了密钥github_rsa,还需要创建work_rsa连接工作环境git仓库,那么,可以按下面操作进行:

    1. 创建另一对密钥work_rsa.

    $ssh-keygen -t rsa -C “work@mail.com”
    #保存密钥为work_rsa

    2. 添加新身份信息

    $ssh-add ~/.ssh/work_rsa

    3. 配置.ssh/config

    我们需要通过Host别名,将不同的账号区分开来。

    参考文档:GitHub官方文档Generating SSH Keys

  • 相关阅读:
    BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )
    BZOJ 1878: [SDOI2009]HH的项链( BIT )
    BZOJ 1054: [HAOI2008]移动玩具( BFS )
    js-提取行间元素
    vim的三种模式的基本操作
    Linux的高级命令
    Linux的进阶命令
    Linux的基本命令
    Linux常见的文件目录结构
    js-操作属性
  • 原文地址:https://www.cnblogs.com/3body/p/5417149.html
Copyright © 2011-2022 走看看