GitLab配置ssh key

一、背景

  当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成ssh key,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户端生成ssh key,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。

二、解决方案

  1. 打开本地git bash,使用如下命令生成ssh公钥和私钥对

    ssh-keygen -t rsa -C ‘[email protected]‘ 然后一路回车(-C 参数是你的邮箱地址)

  2. 然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
  3. 打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮

    

  4. 到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了

  5. 再试一下拉取代码和提交代码,应该就不需要输入密码了

三、本地配置多个ssh key

大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例):

  1. 为公司生成一对秘钥ssh key

    ssh-keygen -t rsa -C ‘[email protected]‘ -f ~/.ssh/gitlab-rsa
  2. 为github生成一对秘钥ssh key
    ssh-keygen -t rsa -C ‘[email protected]‘ -f ~/..sh/github-rsa
  3. 在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
      # gitlab
      Host gitlab.com
          HostName gitlab.com
          PreferredAuthentications publickey
          IdentityFile ~/.ssh/gitlab_id-rsa
      # github
      Host github.com
          HostName github.com
          PreferredAuthentications publickey
          IdentityFile ~/.ssh/github_id-rsa
      ?
      # 配置文件参数
      # Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
      # HostName : 要登录主机的主机名
      # User : 登录名
      # IdentityFile : 指明上面User对应的identityFile路径
  4. 按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
  5. OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。
  6. 再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件

三、总结

  我们为什么要使用ssh协议呢?因为ssh更加安全,然后更加方便,比如我们公司的gitlab由http协议换成了https协议,那么如果你是使用http协议管理代码,那么需要修改所有的项目中的git地址变成https,这会把我们给逼疯的!但是如果我们一开始就是用ssh协议,这不需要任何的修改,简直不能再爽一点了。

原文地址:https://www.cnblogs.com/hafiz/p/8146324.html

时间: 2024-10-12 09:24:04

GitLab配置ssh key的相关文章

TortoiseGit 配置 SSH KEY 的笔记

以前一直在用 SVN ,最近禁不住诱惑学了学 Git 的基本操作,然后就开始在 CSDN 的CODE 平台上托管自己的代码了.开始几天用的是 msys-git.后来看到 TortoiseGit 就果断的安装上了.原以为 TortoiseGit 的配置会很简单,而且 CODE 平台的帮助文档中有介绍: https://code.csdn.net/help/CSDN_Code/code_support/new_10 但是这个帮助文档竟然没写怎么导入 SSH key- 折腾了一番总算搞定了这个问题,这

gitLab添加ssh key

电脑新装了一台虚拟机,想要和gitLab建立一个安全的ssh连接,步骤如下 1.本机生成ssh key 系统环境:Linux 使用root用户登录,执行命令:ssh-keygen -t rsa -C "[email protected]",默认回车就ok了,该命令会创建一个隐藏的.ssh文件夹,文件夹中有2个文件:id_rsa(私钥)和id_rsa.pub(公钥),使用命令:vi id_rsa.pub查看公钥内容,复制公钥内容. 2.gitLab添加ssh key  3.授权 chmo

Mac Android studio提交本地项目到Github 已经配置 SSH KEY

注册账号 https://github.com 在本地配置ssh key秘钥 配置好之后这里需要它 开始本地配置ssh key,首先查看本地电脑是否有配置过ssh,进入终端 敲入$ defaults write com.apple.finder AppleShowAllFiles -bool true ( 显示隐藏文件(需要重新运行Finder),因为.ssh是隐藏文件). 在桌面菜单在查看是否有这个文件 .ssh 的隐藏文件,有的话个人建议删除. 现在开始在本地配置ssh key mkdir

Linux 系统安全配置 Debian => 禁止root SSH登陆+配置SSH Key+配置iptables

Linux 系统安全配置 Debian => 禁止root SSH登陆+配置SSH Key+配置iptables 当我们安装完Linux系统作为服务器后,总有一系列的安全配置需要进行.特别是当你的服务器Ip是对外网开放的话.全世界有很多不怀好意的人,不断试图穷举你的root密码,尝试登陆.那么为Linux服务器增加一些安全措施,是很有必要的.本文基于Debian 9.5. 本文读者需要有一定的linux基础,有一定的网络与英语基础.知道如何使用nano/vim编辑器.不过总体而言,本文是为初级用

Linux配置SSH Key到GitHub

Linux配置SSH Key到GitHub 准备工作 首先检查下本机是否已经安装了SSH,在终端输入ssh即可: 如果没有安装进行yum安装 # yum -y install openssh-clients 生成ssh key 输入ssh-keygen -t rsa,然后连续按回车键三次(注意:千万不要输入密码!). id_rsa.pub为公钥,id_rsa为私钥,它们都是隐藏文件. 那么如何查看它们的内容呢?只需要继续执行以下两条命令即可. # cd .ssh/ # cat id_rsa.pu

Gitlab创建ssh key并添加配置

1 生成ssh key  zj改成你自己的邮箱或者名字之类的 ssh-keygen -t rsa -C "zj" 2 找到你生成的ssh key copy 公钥 添加到gitlab的用户配置里面 [[email protected] node-v10.16.1-linux-x64]# cd ~/.ssh/ [[email protected] .ssh]# ls id_rsa id_rsa.pub [[email protected] .ssh]#[[email protected]

git 生成ssh key gitlab 增加 ssh key

1.在用户目录下生成 ssh key $ cd ~/.ssh 查看密钥 $ ls config (配置git 地址端口) { host:   port: } id_dsa (密钥)  id_dsa.pub (公钥) $ ssh-keygen 生成密钥 2.将密钥保存到gitlab 在github上点击"setting", 找到添加SSH key的菜单,然后新增SSH key: 把文件id_rsa.pub  里面的内容全部复制到 key编辑框中, 保存完毕:

Git配置SSH Key

最近看到很多人在配置Git时,遇到很问题,网上教程千篇一律.这儿自己单独记录一份. 1.检查本机是否有ssh key设置,切换到.ssh目录 $ cd ~/.ssh 或cd .ssh 2.配置git用户名和邮箱,配置多个用户时添加 --add 参数 $ git config --global --add user.name "username" $ git config --global --add user.email "email" $ git config -

gitlab配置ssh连接

一.SSH key配置: 1.Git发全局配置: 1 git config --global user.name "username" 2 git config --global user.email "[email protected]"\ 2.打开本地的git bash,输入如下命令生成公钥和私钥对: 1 ssh-keygen -t rsa -C '[email protected]' 然后一路回车即可: 3.然后打开~/.ssh/id_rsa.pub文件(~表