转自: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. canvas——画板

    注意部分: canvas的height和width不能再css中设定,应该在html中设定,否则会影响页面的分辨率. 效果图: 图1: 代码 css: #canvas{ cursor: crossha ...

  2. 检测WIfi是否打开

    引入SystemConfiguration库并添加头文件: #import <SystemConfiguration/SystemConfiguration.h> 代码如下:     NS ...

  3. 折腾iPhone的生活——设置“查找我的iPhone”,让iPhone更防盗

    对于iPhone,防盗一直是一个非常那啥的话题,很多买过iPhone的人都被偷过,但疼,然而苹果也看到了这个问题,所以在iOS7,我们终于看到了一个比较靠谱的防盗软件:查找我的iPhone 之前小偷解 ...

  4. Spring 连接数据库测试

    1.编写测试对象类 package model; import java.io.Serializable; /** * Created by xumao on 2016/12/5. */ public ...

  5. C++ —— 时间与日期

    导读 在平时编程中有时需要获取当前的时间或者日期,然而不同的平台不同的场景下,有时使用的API也不尽相同.一般来说,C/C++中关于时间的标准库函数在不同的平台的都可以使用,可一些与平台相关的函数就只 ...

  6. Java+protobuf 实例

    之前开发都是JSON格式, 据说用这种格式的 安全, 输入输出全是二进制文件,且 数据占用内存小. 主要永远移动端数据传送.以下是代码: controller: 请求的是实体: package cn. ...

  7. Google Web Toolkit (GWT)怎么制作多个用户界面

    Google Web Toolkit即GWT是目前基于AJAX技术开发的一个比较成功的框架包,但是其附带例程中只有单页面的实例,那么应该怎么样制作多个页面呢? 其实很简单,GWT的一个模块,就是一个页 ...

  8. MapObject shape数据操作

    利用MO 的GeoDataset  .DataConnection  Recordset 进行数据操作 在MO中.使用GeoDataset对象和DataConnection 对象来连接和读取地理数据. ...

  9. javascript中的稀疏数组(sparse array)和密集数组

    学习underscore.js数组相关API的时候.遇到了sparse array这个东西,曾经没有接触过. 这里学习下什么是稀疏数组和密集数组. 什么是密集数组呢?在java和C语言中,数组是一片连 ...

  10. [PWA] 19. Cache the avatars

    Cache the avatars is little different from cache photos. We need to serve the page with our cache da ...