Gitlab,Mac下生成SSH Key

      git是分布式的代码管理工具,远程的代码管理是基于ssh的,因此要使用远程的git则须要ssh的配置。简单的说,Git - 版本控制工具;Github是一个网站,提供给用户空间建立git仓储,保存用户的一些数据文档或者代码等;GitLab是基于Git的项目管理软件git

 

  首先,使用代码管理工具把本地的代码上传到服务器时须要加密处理,加密传输的算法有不少种,git可以使用rsa,rsa要解决的一个核心问题是,如何使用一对特定的数字,使其中一个数字能够用来加密,而另一个数字能够用来解密。这两个数字就是你在使用git和github,gitlab的时候所遇到的public key也就是公钥以及private key私钥。github

      其中,公钥就是那个用来加密的数字,这也就是为何你在本机生成了公钥以后,要上传到github的缘由。从github发回来的,用那公钥加密过的数据,能够用你本地的私钥来还原。若是你的key丢失了,无论是公钥仍是私钥,丢失一个都不能用了,解决方法也很简单,删除原有的key,从新再生成一次,而后在github.com里再设置一次就行在我的电脑生成ssh密钥后,会同时生成一个公开密钥和一个私有密钥,默认状况下在用户主目录下的.ssh目录中,密钥为id_rsa,公开密钥为id_rsa.pub。算法

密钥和公开密钥是共同使用的,协同开发中,通常会将公钥配置在服务器中,这样方便常常登陆,也不须要输入密码,这是如今集群和各类云平台经常使用的登陆方式,密钥在本地不被泄漏就很是安全。安全


   在我的电脑生成ssh密钥后,会同时生成一个公开密钥和一个私有密钥,默认状况下在用户主目录下的.ssh目录中,密钥为id_rsa,公开密钥为id_rsa.pub。

  密钥和公开密钥是共同使用的,协同开发中,通常会将公钥配置在服务器中,这样方便常常登陆,也不须要输入密码,这是如今集群和各类云平台经常使用的登陆方式,密钥在本地不被泄漏就很是安全。服务器

步骤1.检查是否已经存在SSH Key

打开电脑终端,输入如下命令:ssh

 

ls -al ~/.ssh 

 

会出现两种状况  分布式

 

步骤2. 生成/设置SSH Key

 

继续上一步可能出现的状况   工具

(1)状况一:终端出现文件id_rsa.pub 或 id_dsa.pub,则表示该电脑已经存在SSH Key,此时可继续输入命令:gitlab

 

pbcopy < ~/.ssh/id_rsa.pub    

 

这样你须要的SSH Key 就已经复制到粘贴板上了,而后进行步骤3网站

(2)状况二:终端未出现id_rsa.pub 或 id_dsa.pub文件,表示该电脑尚未配置SSH Key,此时须要输入命令:

 

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

 

(注意,这里的  your_email@example.com  是你本身的邮箱,选通常的经常使用的邮箱便可,笔者当时用的是腾讯企业邮箱,就出现了一点小问题,因此不经常使用的邮箱通常不推荐) 默认会在相应路径下(/your_home_path)生成id_rsa和id_rsa.pub两个文件,此时终端会显示:
 
   Generating public/private rsa key pair. 
  Enter file in which to save the key (/your_home_path/.ssh/id_rsa): 

   连续回车便可,也可能会让你输入密码,密码就是你的开机密码 (注:Jenkins中添加秘钥时,Passphrase要写此处输入的密码)
 
  

 

 
此时再输入命令:ls -al ~/.ssh    就会出现id_rsa.pub 和 id_dsa.pub两个文件,而后重复状况一的步骤即输入如下命令再进行步骤3便可:
 
pbcopy < ~/.ssh/id_rsa.pub

 

步骤3.将SSH Key添加到GitLab中(注:此处添加的是公钥key)

Gitlab--登陆--进入项目--右侧settings---Repository---Deploy Keys---title、key分别添加后点击”Add key"

 

注意点:

  Jenkins添加从Git拉取代码的key是私钥key

  查看私钥key:

pbcopy < ~/.ssh/id_rsa
相关文章
相关标签/搜索