配置ssh keys连通github跟ssh-agent

来源:互联网 发布:mysql架构设计 编辑:程序博客网 时间:2024/04/27 21:46

http://www.cnblogs.com/zanjiahaoge666/p/6407224.html


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


原创粉丝点击