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了;