Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61735
  • 博文数量: 7
  • 博客积分: 90
  • 博客等级: 民兵
  • 技术积分: 117
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-26 09:09
文章分类

全部博文(7)

文章存档

2018年(1)

2017年(4)

2012年(2)

我的朋友

分类: LINUX

2017-06-02 11:32:53


1. 首先要有自己的github帐号

   
第一次创建帐号会引导创建一个自己的版本库, 照着指示 先建一个版本库耍耍吧.


后面的步骤基本上参考官网帮助文档:   但稍有不同.

2.  创建一个SSH KEY

按照文档中所述先创建一个SSH key, 要求输入密码的时候可以选择空, 可以避免后面要使用key的时候提示输入密码.

点击(此处)折叠或打开

  1. $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com

3. 整理生成的SSH KEY

一般生成的文件在~/.ssh/目录下 id_rsa(密钥)  id_rsa.pub(公钥)   这里如果有人有多个ssh key用来访问不同的服务器, 就可能需要重命名.
例如:
我将生成 的key改个容易识别名字git_hub.

点击(此处)折叠或打开

  1. $ cd ~/.ssh
  2. $ mv id_rsa git_hub
  3. $ mv id_rsa.pub git_hub.pub

另外需要配置一个~/.ssh/config文件(没有就创建一个), 里面用来配置访问不同服务器时指定用哪个key(密钥)
看我这边~/.ssh/config的内容:

点击(此处)折叠或打开

  1. $ cat ~/.ssh/config
  2. Host github.com
  3.   User your_github_name
  4.   IdentityFile ~/.ssh/git_hub
文件内容大致是 使用SSH方式访问github.com时 使用的密钥文件为~/.ssh/git_hub, 用户名: your_github_name(即上面注册的github用户名)

4. 按照 官方文档的继续操作:

增加 私钥 到ssh-agent高速缓存(ubuntu 16.04测试系统重启后 不需要再次输入此命令 就可以使用ssh key修改提交代码了)

点击(此处)折叠或打开

  1. $ ssh-add ~/.ssh/git_hub

5. 将公钥上传到github上

按照官方文档 在 github网站上:
         个人设置 Setting - SSH and GPG keys - SSH keys - New SSH key
          title: 随便写一个容易识别的标题
          Key: 中增加git_hub.pub 内容(可以查看git_hub.pub内容, 然后手动复制粘贴)

       


6. 本机测试上面的 ssh key是否设置OK

执行下面的命令

点击(此处)折叠或打开

  1. $ ssh -vT git@github.com
如果后面出现 :
            Hi ****! You've successfully authenticated, but GitHub does not provide shell access.
       
        证明SSH key配置OK. 如果失败 因为加了-v参数 可以详细看到哪一步出的错, 慢慢排查吧....


 下面使用SSH的方式来 使用上面配置好的SSH KEY来修改你在github上创建的版本库中的文件 并提交.

7. 下载版本库

先将你创建的版本库用git下载下来, 下载地址在版本库界面  "Clone and Download" 按钮点击后显示.
        注意: 在点开显示的页面中 右上角选择"use SSH"(如果没用帐号登录将只有https一种下载方式, https方式无法使用SSH KEY来修改提交代码)
  
        SSH下载地址为git@github.com 开头, 我这边是: git@github.com:Meppo/hello-world.git
        

8. 下载完代码后, 进入代码目录, 查看一下此版本库配置, 看 git提交方式是否为SSH

点击(此处)折叠或打开

  1. $ cat .git/config
看中间一段:

点击(此处)折叠或打开

  1. $ [remote "origin"]
  2.         #url = https://github.com/Meppo/hello-world.git
  3.         url = git@github.com:Meppo/hello-world.git
  4.         fetch = +refs/heads/*:refs/remotes/origin/*
如果 url这一行 是https:// 开头(#开头被注释的那一行) 证明仍然使用的https方式来提交代码 仍会提示输入github用户名/密码
如果 url这一行 是git@ 开头  证明使用的ssh方式来提交代码 应该就会使用上面我们添加的ssh key, 自动验证 无需任何要求输入用户名/密码的操作.
 

9. 修改个文件并提交.

创建个文件并提交 看是否不需要用户密码就能提交成功

点击(此处)折叠或打开

  1. $ echo "test" > a.txt
  2. $ git add a.txt
  3. $ git commit a.txt -m "add file a.txt"
  4. $ git push

10. 至此  应该OK了, 可以通过SSH KEY的方式 任性的修改提交代码了.

阅读(2403) | 评论(0) | 转发(0) |
0

上一篇:自警

下一篇:我的GVIM: 快速配置vim

给主人留下些什么吧!~~