七、配置ssh keys连通github跟ssh-agent
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的更多相关文章
- Generating SSH Keys for github
由于最近电脑重装了Windows 8.1, 想用github维护一些代码.故不得不重新生成一下ssh key. 按https://help.github.com/articles/generating ...
- 添加SSH keys到github帐号
使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(如我自己的esesgrid项目:git@github.com:hmilycc/esesgrid.git),而 ...
- $ 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 不知道为什么在另一台电脑上却生成两个文件 ...
- 我的Python成长之路---GitHub使用克隆GitHub(SSH key配置)
六.克隆GitHub仓库 1.创建仓库目录,目录位置没有要求,比如D:\learngit. 2.配置ssh(如果不配置会每次都输入用户名和密码) 使用TortoiseGit生成ssh-key:开始菜单 ...
- GitHub 添加 SSH keys
首先在本地创建 SSH Keys $ ssh-keygen -t rsa -C "18817801185@163.com" 后面的邮箱即为 github 注册邮箱,之后会要求确认路 ...
- 为Github 托管项目的访问添加SSH keys
为了便于访问远程仓库,各个协作者将自己的本地的项目内容推送到远程仓库中,使用 SSH keys 验证github的好处:不用每次提交代码时都输入用户名和密码. 如果SSH key没有添加到github ...
- Git多个SSH KEYS解决方案(含windows自动化、TortoiseGit、SourceTree等)
工作过程中,经常会使用到多个git仓库,每个git仓库对应一个账号,可以理解为每个git仓库对应一个ssh key,因此我们需要管理多个ssh key. 一.快速创建ssh key 1. 创建 ...
- github使用ssh秘钥的好处以及设置(转)
git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的r ...
- 创建 SSH Keys
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.简单说,SSH是 ...
随机推荐
- node中session的管理
请看这个博客: http://spartan1.iteye.com/blog/1729148 我自己的理解 session俗称会话. 第一次访问服务器的时候由服务器创建,相当于一个cookie(就 ...
- Java Spring-AOP的概述
2017-11-08 19:31:23 AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP ...
- oracle问题集棉
1. 在未安装orcale客户端时,使用pl/sql登录数据库服务器时,报错ORA -12543:TNSdestination host unreachable 2.无法通过ip地址远程连接ORACL ...
- linux centos 虚拟机新安装后没有网络
ping的时候出现 name or service not known的时候 可以 修改/etc/sysconfig/network-scripts/ifcfg-ens33 文件 vi ifcfg-e ...
- MySql查询生日的两种方式
需要是要查询日期段内过生日的会员,分为两种情况: 1. 不跨年 例如: 查询2017-01-01到2017-01-20之间过生日的会员 (假定今天是2017-01-01则这种也可以描述为20天内过生 ...
- 简单CSS3代码实现立方体以及3D骰子
1 实现3D立方体 首先准备好UL以及6个Li: 代码如下 ul { position: absolute; top: 50%; left: 50%; transform:translate(-50% ...
- java定时器无法自动注入的问题解析(原来Spring定时器可以这样注入service)
近些日子在做一个项目,在项目中需要用到spring的定时任务,但是在操作数据库的时候发现总是不能正确的进行数据的插入,经过查看才发现:是因为service层不能够通过普通的方法注入到action,所以 ...
- 第3课 进化后的const分析
C语言中的const const修饰的变量是只读的,本质还是变量 const修饰的局部变量在栈上分配空间(改变这个空间的值,这个变量就会改变) const修饰的全局变量在只读存储区分配空间 const ...
- hadoop2.x常用端口及定义方法
Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...
- 7-31 The World's Richest(25 分)
Forbes magazine publishes every year its list of billionaires based on the annual ranking of the wor ...