转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html

  • 此经验分两部分:

第一部分介绍:在windows下通过msysGit(Git for windows、Git Bash)配置SSH Keys连接GitHub。

第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中。

工具/原料

  • GitHub

  • msysGit(git for windows、Git Bash)

msysGit配置SSH访问GitHub

  1. 1

    检查本机是否有ssh key设置

    $ cd ~/.ssh 或cd .ssh

    如果没有则提示: No such file or directory

    如果有则进入~/.ssh路径下(ls查看当前路径文件,rm * 删除所有文件)

  2. 2

    1、使用Git Bash生成新的ssh key。

    $ cd ~  #保证当前路径在”~”下

    $ ssh-keygen -t rsa -C "xxxxxx@yy.com"  #建议填写自己真实有效的邮箱地址

    Generating public/private rsa key pair.

    Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa):   #不填直接回车

    Enter passphrase (empty for no passphrase):   #输入密码(可以为空)

    Enter same passphrase again:   #再次确认密码(可以为空)

    Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa.   #生成的密钥

    Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub.  #生成的公钥

    The key fingerprint is:

    e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81 xxxxxx@yy.com

    *本机已完成ssh key设置,其存放路径为:c:/Users/xxxx_000/.ssh/下。

    注释:可生成ssh key自定义名称的密钥,默认id_rsa。

    $ ssh-keygen -t rsa -C "邮箱地址" -f ~/.ssh/githug_blog_keys #生成ssh key的名称为githug_blog_keys,慎用容易出现其它异常。

  3. 3

    添加ssh key到GItHub

    3.1 登录GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。

  4. 4

    3.2 复制id_rsa.pub的公钥内容。 

    1) 进入c:/Users/xxxx_000/.ssh/目录下,打开id_rsa.pub文件,全选复制公钥内容。

    2) Title自定义,将公钥粘贴到GitHub中Add an SSH key的key输入框,最后“Add Key”。

  5. 5

    配置账户

    $ git config --global user.name “your_username”  #设置用户名

    $ git config --global user.email “your_registered_github_Email”  #设置邮箱地址(建议用注册giuhub的邮箱)

  6. 6

    测试ssh keys是否设置成功。

    $ ssh -T git@github.com

    The authenticity of host 'github.com (192.30.252.129)' can't be established.

    RSA key fingerprint is 16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.

    Are you sure you want to continue connecting (yes/no)? yes #确认你是否继续联系,输入yes

    Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.

    Enter passphrase for key '/c/Users/xxxx_000/.ssh/id_rsa':  #生成ssh kye是密码为空则无此项,若设置有密码则有此项且,输入生成ssh key时设置的密码即可。

    Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出现词句话,说明设置成功。

    END

将本地项目通过SSH push到GitHub

  1. 在github上创建一个示例仓库,如:test ssh key。

  2. 复制test ssh key的ssh路径。

  3. 本地创建项目 

    1) 创建目录

    $ mkdir test

    $ cd test

    2) 初始化

    $ git init

    3) 创建hello.md文件

    $ echo "这是一次测试test ssh key" > hello.md

    4) 提交到本地

    若出现如上warning提示则重新提交一次即可。

    $ git add .   #提交当前目录下所以文件

    $ git commit -m "add hello.md"   #提交记录说明 

    5) 提交到github

    $ git remote add origin ‘粘贴复制test ssh key的ssh路径’  #

    $ git push -u origin master

    Enter passphrase for key '/c/Users/hgpin_000/.ssh/id_rsa':  #ssh key设置密码故此需要输入密码

  4. 刷新test ssh key仓库,查看hello.md。(完)

    步骤阅读

    END

注意事项

  • 经验适用于win7、win8.1、win10。

window下配置SSH连接GitHub、GitHub配置ssh key(转)的更多相关文章

  1. Window下使用Xshell连接VirtualBox中CentOS SSH最佳实践

    网上已经有非常多讲怎样连接VMware的文章.可是针对一些可能遇到的细节没有讲全. 这里会有一个非常 实际的样例,附带全部软件的链接,保证成功. 最佳实践什么的都是骗人的. 1.安装VirtualBo ...

  2. Qt在window下的环境变量PATH的配置

    Qt在window下的环境变量PATH的配置 路劲: C:\Qt\Qt5.6.0\5.6\mingw49_32\bin C:\Qt\Qt5.6.0\Tools\mingw492_32\bin 发布Qt ...

  3. kettle通过SSH连接Mysql数据库(SSH隧道)

    kettle通过SSH连接Mysql数据库(SSH隧道) Kettle无法直接连接使用SSH通道的MySQL,通过SSH隧道(推荐)或者需要借助工具PuTTY(不用时需要注销不推荐),具体操作如下所示 ...

  4. 不能ssh连接ubuntu linux 服务器 secureCRT不能ssh连接服务器 不能远程ssh连接虚拟机的ubuntu linux

    我是用的是secureCRT,远程连接我的虚拟机里面的ubuntu 直接报错,连接不上 1,先分别在windows上ipconfig和ubuntu上ifconfig下 互ping一下,是可以ping通 ...

  5. xshell ssh连接linux时提示ssh服务器拒绝了密码

    用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录 修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会 ...

  6. ssh连接远程服务器出现Host key验证失败的解决方案

    原因可能是云服务器重装过,解决方法是找到提示的know_hosts文件,将报错的那一行的秘钥删掉即可.

  7. windows下配置VSCode免密SSH连接Linux机器

    先决条件 Windows下安装openssh软件(win10自带,可以不用搞) 从官网下载最新版本默认安装即可 VSCode安装插件 VSCode官方市场获取两个插件:"Remote - S ...

  8. Jmeter配置通过SSH连接的mysql数据库

    jmeter连接配置mysql数据库时,如果数据库服务器没有通过ssh连接,则只需要添加配置相应的jdbc参数就可以了.如果数据库服务器是通过SSH连接的,则需要通过中间远程连接工具来登录,此处使用的 ...

  9. window下nginx负载均衡简单配置-----权重的实现

    下面介绍一个在window下的nginx的负载均衡配置. 需要你在你的电脑上跑两个tomcat.一个8080,一个9080. 需要一个nginx服务器. 需要修改本机的host 注意:我们这里配置不会 ...

  10. Ubuntu下ssh连接在服务端显示图形界面

    Ubuntu下ssh连接在服务端显示图形界面 step1 安装ssh服务 服务端安装运行ssh,在终端运行命令如下: sudo apt-get install openssh-server 在客户端安 ...

随机推荐

  1. poj 1740 A New Stone Game(博弈)

    A New Stone Game Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5338   Accepted: 2926 ...

  2. nopcommerce中文网

    nopcommerce中文网 | nopcommerce是国外asp.net领域一个高质量的b2c开源项目,基于EntityFramework和MVC开发,交流QQ群:75272942 nopcomm ...

  3. LianLianKan - HDU 4272(状态压缩)

    题目大意:有一列数据,可以从最上面的开始连接下面相同的元素,然后消除,不过距离不能超过6,询问最后能不能消除完整个数列. 分析:首先讨论一点最远能消除的地方,比如点的位置是x,如若想要消除x+1位置处 ...

  4. javascript 的点击复制事件

    function copy() { var text=document.getElementById("txtUser").value; if(copy2Clipboard(tex ...

  5. C#类型 分类: C# 2015-03-09 08:44 202人阅读 评论(0) 收藏

    C# 类型 引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制.复制又 ...

  6. Bash简单介绍

    Bash不不过一个命令解析程序. 它本身拥有一种程序设计语言,使用这样的语言,能够编写shell脚本来完毕各种各样的工作.而这些工作是使用现成的命令所无法完毕的.Bash脚本能够使用if-then-e ...

  7. System.in与System.out(标准输入与标准输出)详解

    package test; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; p ...

  8. Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)

    上篇:Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin) 之前介绍了怎样在maven中使用webtest插件实现web的集成測试,这里有个遗留 ...

  9. strstr和memcmp函数的实现

    #include <stdio.h> #include <stdlib.h> //malloc()函数 typedef unsigned int size_t; size_t ...

  10. 新秀学习Hibernate——简单的增加、删、更改、检查操作

    部分博客使用Hibernate单的样例,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述怎样利用Hinbernate框架实现简单的数据库操作. 1.增加junit.jar 2.新建一个工具类H ...