平常使用git时因为用了https的方式,所以经常要输入密码,其实我们是可以通过这个公钥连接github git.oschina.net等服务器,这样可以省去了我们输入用户名密码这么一个步骤了。

1.生成公钥--- ssh-keygen

无论是什么系统要使用git,那么都需要安装git工具,这个是去官网下载,安装完成后都会有了这么一个命令--- ssh-keygen,这个命令就是用来生成公钥的,生成公钥有什么好处在前面就已经说了。

这个命令使用是很简单的

➜  ~  ssh-keygen

直接运行,一路确定(按回车键)就可以了,这样就生成了了公钥,需要注意的是在执行的过程中会提示你文件保存的路径,在那一个步骤你要留意这个保存的路径。

完成后,文件保存的路径,在linux中一般是 "/home/subying/.ssh/",windows下一般是"c:\用户\subying\.ssh\" 这里的subying是我登录的用户名,你会在里面看到一个名为'id_rsa.pub'的文件。最正确就是前面说的在生成过程中留意那个路径,如果没有留意怎么办?呵呵,再生成一次...

2.上传到服务器(网站github\git.oschina.net等)

生成公钥后,就是要上传到服务器了,我们常用的git服务应该在是github git.oschina.net这样的网站,那么这些网站的设置都是类似的。

首先是找到个人设置里面,在左侧找到ssh key(ssh 公钥)这样的菜单,点击进去进行设置,下面给出github git.oschina.net的连接

https://github.com/settings/ssh (github)

http://git.oschina.net/profile/sshkeys  (git.oschina.net)

设置的时候一般是设置标题和内容,标题可以自己取一个,那么内容就是刚才生成的那个id_rsa.pub文件的内容,可以用编辑器、记事本这样的工具打开,复制。

步骤如下截图:

3.验证是否成功

验证的方式就是使用命令 'ssh -T git@网站url',那么要判断我们上面设置的github git.oschina.net,可以分别执行 'ssh -T git@github.com'  'ssh -T git@git.oschina.net' ,效果如下

➜  nodejs-download-website-Image git:(master) ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.130)' 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
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts.
Hi subying! You've successfully authenticated, but GitHub does not provide shell access.
➜  nodejs-download-website-Image git:(master) ssh -T git@git.oschina.net
The authenticity of host 'git.oschina.net (124.202.141.153)' can't be established.
ECDSA key fingerprint is 27:e5:d3:f7:2a:9e:eb:6c:93:cd:1f:c1:47:a3:54:b1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.oschina.net,124.202.141.153' (ECDSA) to the list of known hosts.
Welcome to Git@OSC, subying!

成功后都会看到一些欢迎的信息,比如github的'Hi subying! You've successfully authenticated',git.oschina.net的'Welcome to Git@OSC, subying!'  这里的subying是我的账号名。

4.将https改成ssh

做完上面的步骤后,并不是说就可以clone都不需要输入用户名和密码了,记住的是这个是ssh的公钥,所以clone的时候要用ssh的url而不是https的url,否则你用了https的url还是需要输入用户名和密码的。

那么如果之前已经用了https了,现在要怎么修改呢?用命令'git remote set-url origin 项目的sshurl',比如我的就是这样'git remote set-url origin git@git.oschina.net:subying/nodejs-download-website-Image.git',或者是直接修改了项目里面.git文件中的config文件,把https的url改成ssh的url就可以了。

使用了ssh公钥后就方面了很多,希望给像我一样的朋友一些帮助。

本文同步到我的个人博客 http://www.subying.com/archives/119.html

使用sshkey连接github等服务器的更多相关文章

  1. Git详细教程之创建本地仓库和连接Github仓库

    首先要知道不只有代码,任何类型的文件都可以进行版本控制,版本控制很重要的一个特性就是你可以随时修改,比如git会记录你的任何操作,如果你想要回退到任何一个历史操作,你可以通过git轻松达到. 本地仓库 ...

  2. 转:sublime上使用git连接github

    "工欲善其事,必先利其器." 这是古人的教诲,也是一个高效率的工程师需要遵循的法则之一.从大学开始写Java使用了JBuilder,Eclipse,后来写PHP用了Zend,写Ja ...

  3. WebStorm和sublime上使用git连接github(转)

    WebStorm使用git连接github的方法: 用webstorm上传代码时,首先要先下载git,网址一搜就可以搜到,安装git,并且把ssh配置到github上.然后开始配置webstorm,打 ...

  4. Sublime Text 中使用Git插件连接GitHub

    sublime Text的另一个强大之处在于它提供了非常丰富的插件,可以帮助程序员来适合大多数语言的开发.这些插件通过它自己的Package Controll(包管理)组件来安装,非常方便.一般常用的 ...

  5. Git学习之连接GitHub远程仓库

    在看此教程之前电脑上应该已安装好git,并且配置好基本信息,Git新手请从头开始. 第1步:创建SSH Key 在用户主目录下(Mac系统是在用户主目录下,可通过命令ll -a查看,Windows下自 ...

  6. Mac下git通过SSH进行免密码安全连接github

    Git——The stupid content tracker(傻瓜内容跟踪器) Git是Linux的缔造者Linus Torvalds为了帮助管理Linux内核源码而开发的一款免费.开源的分布式版本 ...

  7. 构建C1000K的服务器(2) – 实现百万连接的comet服务器

    转自:http://www.ideawu.net/blog/archives/742.html 这是关于 C1000K 序列文章的第二篇, 在前一篇文章 构建C1000K的服务器(1) – 基础 中, ...

  8. 使用SSH密钥连接Github

    使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码.如果使用SSH,就可以记住用户名,并创建属于自己 的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦. ...

  9. 在有跳板机的情况下,SecureCRT自动连接到目标服务器

    为了服务器的安全,运维人员经常会要求我们先登录到跳板机,然后再SSH连接到目标服务器.但是这样是很繁琐的,每次在SecureCRT创建一个连接,都需要输入SSH命令,然后输入密码. 下面的方法可以实现 ...

随机推荐

  1. kubernetes traefik multiple namespaces

    官方文档在此 https://docs.traefik.io/user-guide/kubernetes/ 官方文档在配置 RBAC 时使用了 ClusterRoleBinding, 当你想用多命名空 ...

  2. 学习Python中的集合

    创建集合 使用工厂方法 set()和 frozenset(): >>> s = set('cheeseshop') >>> s set(['c', 'e', 'h' ...

  3. AQS源码泛读,梳理设计流程(jdk8)

    一.AQS介绍 AQS(AbstractQueuedSynchronizer)抽象队列同步器,属于多线程编程的基本工具:JDK对其定义得很详细,并提供了多种常用的工具类(重入锁,读写锁,信号量,Cyc ...

  4. iOS-构建自己的代码块【提高编码效率-Xcode代码块】

    前言 2018年3月1日 农历正月十四 星期四 不知怎么地,一大早上班就想写博客: Xcode代码块 开发中,都不想写过多代码,然后就会用这种方法,去简化代码,包括MVVM框架,它也体现出来了去简化C ...

  5. 剑指offer六十一之序列化二叉树(待补充)

    一.题目 请实现两个函数,分别用来序列化和反序列化二叉树二.思路 三.代码 --------------------------------------------- 参考链接:

  6. Windows里如何正确安装Redis以服务运行(博主推荐)(图文详解)

    不多说,直接上干货! 注意 : Redis官方并没有提供Redis的windows安装包,但在github上, 有相关的下载地址.       一.Redis的下载地址 相关的下载地址,如下:     ...

  7. facebook 摘要生成阅读笔记(一) A Neural Attention Model for Sentence Summarization

    流程: 1.文本和摘要全部输入到模型中. 2.训练时,对生成摘要取前C个词,从头开始取,如果生成的摘要不足C,那么不足的地方直接补<s>. 3.训练时,最大化生成的摘要与原摘要的概率,即每 ...

  8. php的一个验证邮箱的正则表达式

    /([a-z0-9]*[-_\.]*[a-z0-9]+)*[-_\.]*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.]([a-z0-9]{2,3}|[a-z0-9]*[-_]?[a-z ...

  9. 理解Linux内核之中断控制

    乍一看下边的Linux内核代码,貌似L3389有bug,于是我就绕有兴趣地阅读了一下local_irq_save/local_irq_restore的源代码. /* linux-4.14.12/mm/ ...

  10. C++11中右值引用和移动语义

    目录 左值.右值.左值引用.右值引用 右值引用和统一引用 使用右值引用,避免深拷贝,优化程序性能 std::move()移动语义 std::forward()完美转发 容器中的emplace_back ...