• 创建SSH密钥,并连接GitHub


    http://www.blogways.net/blog/2013/04/10/generating-ssh-keys-4-github.html#1

    目录
    1. Windows环境下生成SSH Keys,并连接GitHub
    2. Mac环境下生成SSH Keys,并连接GitHub
    3. 单机如何控制不同的SSH Keys连不同的Git环境?

    我们可以使用SSH Keys在本机和GitHub之间建立一个安全的连接。下面,我们将手把手教您如何创建SSH Keys并将公钥加到你的GitHub账户中。

    一、Windows环境下生成SSH key且连接GitHub
    第一步、看看是否存在SSH密钥(keys)

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

    $cd ~/.ssh
    # 检查你本机用户home目录下是否存在.ssh目录
    

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

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

    输入如下命令:

    $ssh-keygen -t rsa -C "your_email@example.com"
    # 这将按照你提供的邮箱地址,创建一对密钥
    Generating public/private rsa key pair.
    Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
    

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

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

    Enter passphrase (empty for no passphrase): [Type a passphrase]
    Enter same passphrase again: [Type passphrase again]
    

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

    Your identification has been saved in /c/Users/you/.ssh/id_rsa.
    Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
    The key fingerprint is:
    01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
    
    第三步、在GitHub账户中添加你的公钥

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

    clip < ~/.ssh/id_rsa.pub
    

    接着:

    1. 登陆GitHub,进入你的Account Settings. Account Settings
    2. 在左边菜单,点击”SSH Keys”. SSH Keys
    3. 点击”Add SSH key”按钮. Add SSH key
    4. 粘贴你的密钥到key输入框中. Paste key
    5. 点击”Add Key”按钮。 Add Key
    6. 再弹出窗口,输入你的GitHub密码,点击确认按钮。
    7. 到此,大功告成了!
    第四步、测试

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

    $ssh -T git@github.com
    

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

    The authenticity of host 'github.com (207.97.227.239)' can't be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)?
    

    不用担心,直接输入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)

    输入如下命令:

    $ssh-keygen -t rsa -C "your_email@example.com"
    # 这将按照你提供的邮箱地址,创建一对密钥
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
    

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

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

    Enter passphrase (empty for no passphrase): [Type a passphrase]
    Enter same passphrase again: [Type passphrase again]
    

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

    Your identification has been saved in /Users/you/.ssh/id_rsa.
    Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
    The key fingerprint is:
    01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
    
    第三步、在GitHub账户中添加你的公钥

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

    pbcopy < ~/.ssh/id_rsa.pub
    

    接着:

    1. 登陆GitHub,进入你的Account Settings. Account Settings
    2. 在左边菜单,点击”SSH Keys”. SSH Keys
    3. 点击”Add SSH key”按钮. Add SSH key
    4. 粘贴你的密钥到key输入框中. Paste key
    5. 点击”Add Key”按钮。 Add Key
    6. 再弹出窗口,输入你的GitHub密码,点击确认按钮。
    7. 到此,大功告成了!
    第四步、测试

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

    $ ssh -T git@github.com
    

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

    The authenticity of host 'github.com (207.97.227.239)' can't be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)?
    

    不用担心,直接输入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别名,将不同的账号区分开来。

    Host me.github.com
    	HostName github.com
    	PreferredAuthentications publickey
    	IdentityFile ~/.ssh/github_rsa
    
    Host work.comp.com
    	HostName comp.com
    	PreferredAuthentications publickey
    	IdentityFile ~/.ssh/work_rsa
  • 相关阅读:
    《我是一只IT小小鸟》
    &&、||、?:、,四个运算符的求值顺序
    C Traps and Pitfalls 练习4.2
    “检测到LoaderLock”的解决办法
    VS中代码对齐等快捷键
    贪心 Greedy Algorithms
    这些最基本的程序优化方法你用过吗?
    内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]
    [原创]让对话框的控件支持tooltips
    Debug 运行正常但 Release 失败的问题,Debug 和 Release 编译方式的本质区别
  • 原文地址:https://www.cnblogs.com/lihuali/p/6894348.html
Copyright © 2020-2023  润新知