jenkins+github配置完成后,能够实现在提交pull request或者直接push时,能够将提交的代码拉去一份到服务器本地,并自动merge;但是代码拉去下来了,部署环境的时候却需要输入登录服务器的登陆名跟密码;jenkins部署都是自动完成的,万一每次都需要输入用户名跟密码后,才能操作服务器上的代码进行环境部署,那就太不自动化了;所以需要配置ssh-key让git到服务器切换自如,不用再验证身份;

  github官网给的配置的文章链接:https://help.github.com/articles/connecting-to-github-with-ssh/

关于ssh:

  使用SSH协议,您可以连接和验证远程服务器和服务。 使用SSH密钥,您可以连接到GitHub,而无需在每次访问时提供您的用户名或密码。

验证是否已经存在ssh keys:

  在你创建一个新的ssh key之前,需要先确认你的服务器系统中是否已经存在了SSH Keys;

  1、打开服务器连接终端;

  2、输入如下命令确定是否已经存在ssh keys:

    ls -al ~/ .ssh

  看下返回的结果中是否已经存在了.pub结尾的文件,如果没有需要生成一个新的,如果存在了,直接看将ssh keys配置到github account;

  

生成新的ssh keys:

  1、在服务器终端命令行中,输入:

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

  其中,"your_email@example.com"是你的github关联的邮箱;

  2、当你看到如下提示,直接回车,接受给定的默认文件路径:

  

  3、回车后,会看到如下提示,需要你输入一个字符串,用来作为你的ssh keys的密码,需要输两遍哟;

  

  此时,应该在默认路径下,生成了两个文件,一个是id_rsa,另一个是id_rsa.pub;

  4、将SSH Key添加到ssh-agent,执行命令:

    eval $(ssh-agent -s)

  返回agent的Pid:

  

  执行命令:

    ssh-add ~/.ssh/id_rsa

  

  提示输入passphrase,输入passphrase后(建议直接回车,不用密码),提示添加成功;

将ssh keys配置到github account:

  1、打开生成的id_rsa.pub文件,复制文件内容;

  2、打开github主页,点击你的头像,下拉框中选择SettingsS;

  3、选择SSH and GPG keys;

  

  4、点击New SSH Key,如果本来就有存在,则点击Add SSH Key;

  5、在Title中输入这个SSH Key的标题,用来区分不同的SSH Key;将复制的id_rsa.pub文件的内容,黏贴到Key中;

  6、点击Add SSH Key,跳转的页面输入github的登陆密码;

验证ssh连接:

  1、服务器系统命令行输入如下命令:

    ssh -T git@github.com

  你会看到:

  

  或者

  

  2、输入yes回车,你会看到:

  

  这样你的密钥就设置好了,试一下拉取代码并部署环境是不是很666了;

七、配置ssh keys连通github跟ssh-agent的更多相关文章

  1. Generating SSH Keys for github

    由于最近电脑重装了Windows 8.1, 想用github维护一些代码.故不得不重新生成一下ssh key. 按https://help.github.com/articles/generating ...

  2. 添加SSH keys到github帐号

    使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(如我自己的esesgrid项目:git@github.com:hmilycc/esesgrid.git),而 ...

  3. $ ssh -T git@github.com ssh: connect to host ssh.github.com port 22: Connection timed out

    在C:/用户/用户名/.ssh中添加几个文件 之前的电脑生成都是四个文件,分别是 id_rsa  id_rsa.pub  config known_hosts 不知道为什么在另一台电脑上却生成两个文件 ...

  4. 我的Python成长之路---GitHub使用克隆GitHub(SSH key配置)

    六.克隆GitHub仓库 1.创建仓库目录,目录位置没有要求,比如D:\learngit. 2.配置ssh(如果不配置会每次都输入用户名和密码) 使用TortoiseGit生成ssh-key:开始菜单 ...

  5. GitHub 添加 SSH keys

    首先在本地创建 SSH Keys $ ssh-keygen -t rsa -C "18817801185@163.com" 后面的邮箱即为 github 注册邮箱,之后会要求确认路 ...

  6. 为Github 托管项目的访问添加SSH keys

    为了便于访问远程仓库,各个协作者将自己的本地的项目内容推送到远程仓库中,使用 SSH keys 验证github的好处:不用每次提交代码时都输入用户名和密码. 如果SSH key没有添加到github ...

  7. Git多个SSH KEYS解决方案(含windows自动化、TortoiseGit、SourceTree等)

    工作过程中,经常会使用到多个git仓库,每个git仓库对应一个账号,可以理解为每个git仓库对应一个ssh key,因此我们需要管理多个ssh key.   一.快速创建ssh key   1. 创建 ...

  8. github使用ssh秘钥的好处以及设置(转)

    git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的r ...

  9. 创建 SSH Keys

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.简单说,SSH是 ...

随机推荐

  1. ddt中的data,unpack,file_data实现数据驱动--数据分离

    ddt:Class decorator for subclasses of ``unittest.TestCase``. -----``unittest.testcase``子类的类修饰器. 首先介绍 ...

  2. 操作ACCESS数据库,报INSERT INTO 语句的语法错误

    错误类型:Microsoft JET Database Engine (0x80040E14)INSERT INTO 语句的语法错误. 有时候非常郁闷,明明看起来自己的语句没错,为什么还是报错呢?其实 ...

  3. @Primary和@Qualifier这两个注解的意思(一句话概括)(二十七)

    @Primary和@Qualifier这两个注解的意思: @Primary:  意思是在众多相同的bean中,优先使用用@Primary注解的bean. @Qualifier : 这个注解则指定某个b ...

  4. 004——php字符串中处理函数(三)

    <?php /** * 字符串替换函数: * str_replace(); 替换字符串或数组元素,区分大小写,第四个参数可选,用于统计替换次数 * str_ireplace()不区分大小写替换 ...

  5. Nginx笔记02-nginx常用参数配置说明

    nginx的主配置文件是nginx.conf,这里主要针对这个文件进行说明 1.主配置文件nginx.conf   2.nginx配置文件的结构 从上面的配置文件中我们可以总结出nginx配置文件的基 ...

  6. STL标准库-hash

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 hash的结构图如下图 oject通过hashfunc转换成hashcode然后插入到相应篮子中 hash同rb_tree是一种 ...

  7. C++ 4 种具有更 为准确语义的新强制转换类型

    1. static_cast<T>() 可用于把指向A 的指针强制转换为指向B 的指针,其约束条件是类B必须是类A的子类.例如:A *obj = new B;B *b = static_c ...

  8. python实现树结构

    树在计算机科学的许多领域中使用,包括操作系统,图形,数据库系统和计算机网络.树数据结构与他们的植物表亲有许多共同之处.树数据结构具有根,分支和叶.自然界中的树和计算机科学中的树之间的区别在于树数据结构 ...

  9. HDU1502 Regular Words DP+大数

    要是c语言可以和java一样写大数就好了,或者我会写重载就好了,最后还是只能暴力一把. 开始写的记忆化搜索,然而n=10就超过LL了 #include<cstdio> #include&l ...

  10. 我的AOP那点事儿--1

    题记:一段时间以来一直想整理下关于AOP的知识,之前一直停留在会怎么使用AOP,关于AOP的深入点儿的知识就不知所以然了,正好项目上刚好用到需要用AOP实现的功能,所以找个时间统一整理下就很有必要了. ...