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

  • 相关阅读:
    迭代器和生成器
    案例:复制大文件
    案例:使用seek倒查获取日志文件的最后一行
    Leetcode165. Compare Version Numbers比较版本号
    Leetcode137. Single Number II只出现一次的数字2
    Leetcode129. Sum Root to Leaf Numbers求根到叶子节点数字之和
    Leetcode116. Populating Next Right Pointers in Each Node填充同一层的兄弟节点
    Leetcode114. Flatten Binary Tree to Linked List二叉树展开为链表
    Leetcode113. Path Sum II路径总和2
    C++stl中vector的几种常用构造方法
  • 原文地址:https://www.cnblogs.com/3body/p/5417149.html
Copyright © 2011-2022 走看看