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. Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制 JAVA 中原生的 socket 通信机制 摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.co ...

  2. hdu 1385 floyd字典序

    Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  3. 个人知识管理系统Version1.0开发记录(08)

    切入点 前面,我们已经搭建好了web端的一种基本结构,需要进一步定位的主要问题有三点: 1.界面的选择和确定,用extjs做的初步样式,进一步改动为jqueryUI/html,再进一步改变为HTML5 ...

  4. POSIX线程接口编程学习心得

    由于实验需要,需要了解下C语言多线程编程的知识,于是学习了下POSIX线程编程的知识,有点心得,记录并分享一下. POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段.与标准 fork( ...

  5. Codeforces Round #279 (Div. 2) 题解集合

    终于有场正常时间的比赛了...毛子换冬令时还正是好啊233 做了ABCD,E WA了3次最后没搞定,F不会= = 那就来说说做的题目吧= = A. Team Olympiad 水题嘛= = 就是个贪心 ...

  6. Sonar在ant工程中读取单元测试和覆盖率报告

    虽然sonar支持ant工程的构建,但目前最大的不足是无法在分析过程中产生单元测试和覆盖率报告,这样在sonar面板上覆盖率板块就始终没有数据.但幸运的是,sonar可以读取已经生成好的报告,让报告的 ...

  7. hadoop安装单机

    java环境安装 http://www.cnblogs.com/zeze/p/5902124.html java 环境安装配置 etc/profile: export JAVA_HOME=/usr/j ...

  8. ios 加密解密工具类字符判断等

    #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface Helpers : NSObject ...

  9. Linux上jdk安装及环境变量设置

    1.jdk下载和安装 (1)http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载需 ...

  10. linux网络监控_网速测试

    Linux下查看网络即时网速 1.sar命令(一般般) sar -n DEV 1 100 1代表一秒统计并显示一次 100代表统计一百次 sar在sysstat包 2.使用ntop图形工具(没详细用过 ...