git配置不同平台不同邮箱的ssh

背景:git的使用过程中 需要配置公司gitlab的ssh,也有自己的github的ssh需要。这时之前的配置ssh方式就不够用了。

思路:为不同的邮箱账户生成不同的ssh密钥对,并通过配置config文件的方式,使git可以通过配置文件,根据不同的远程仓库地址自动使用对应的秘钥来完成验证。

先完成github的ssh配置,再来完成gitlab的ssh配置,最后完成config文件配置。

步骤:github配置

1、选择gitlab的邮箱作为全局user  和email,如下

git config --global user.name "你gitlab的用户名"

      git config --global user.email "你gitlab的邮箱"

2、生成SSH Key

ssh-keygen -t rsa -C "你的gitlab账号对应的邮箱"

一直enter,如果已存在密钥文件,可以覆盖掉

3、默认生成的密钥文件在c盘/.ssh/里,为id_rsa和id_rsa.pub,将id_rsa.pub打开(最好用notepad++),将里面的内容粘出到gitlab账号的ssh配置里。

点击gitlab头像-》 settings-》SSH Keys-》Key,粘贴后,点击Add key,如图

然后尝试clone gitlab中的项目到本地

github配置

1、与gitlab基本相同,唯一需要注意的是 在生成ssh密钥对的时候,不能一路enter,需要重命名为不同文件名,否则会覆盖;也可以用以下命令直接指定文件名,如

ssh-keygen -t rsa -C "你的gitlab账号对应的邮箱" -f ~/.ssh/id_rsa_github

2、同样把后缀为.pub的秘钥内容粘贴到 你的github账户对应的ssh中并生成秘钥。

3、此时如果你尝试clone你账户远程仓库中的项目的话,会发现连接失败。这是因为git本身默认使用了id_rsa的秘钥来进行ssh链接。

4、将密钥添加到SSH sgent 中,为了让SSH识别其他私钥。

ssh-add ~/.ssh/id_rsa_github,如果失败可以先执行以下命令
ssh-agent bash
 

配置config文件

进入.ssh目录下,新建一个没有后缀的文件,编辑以下内容进去

Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github  

Host gitlab
    HostName 你的gitlab项目域名
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

配置中的配置项很重要,一定要配对。

接下来就需要进行验证了。记得打开重连 gitbash已确保配置生效。

扩展:在处理这个问题的时候,从同事那里获得了新思路。即使用git的相关图形管理工具sourcetree来完成ssh的不同配置。试了下还挺方便

原文地址:https://www.cnblogs.com/olio1993/p/12107232.html

时间: 2024-11-06 14:03:26

git配置不同平台不同邮箱的ssh的相关文章

Git配置用户名和邮箱

一.git配置提交用户名和邮箱 git config user.name "zhengyong" git config user.email '[email protected]' 二.生成公钥私钥 1.ssh-keygen -t rsa -C "[email protected]"

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 -

初次安装git配置用户名和邮箱

初次安装git配置用户名和邮箱 初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git config --global user.name "superGG1990" $ git config --global user.email "[email protected]" 注意:(引号内请输入你自己设置的名字,和你自己的邮箱)此用户名和邮箱是git提交代码时用来

SSH学习及其在git配置中的使用

1.  SSH是什么 SSH,即远程连接工具 2.  SSH组成及其工作机制 ssh服务端由2部分组成: openssh(提供ssh服务)和openssl(提供加密的程序) ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接. 服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务

zbb20180103 git 配置用户名和邮箱

git 配置用户名和邮箱 在安装了git for windows之后,个人总是忘记配置git config的命令,以此记录一下: 配置用户名和邮箱的命令 1 git config --global user.name "youname" 2 git config --global user.email "[email protected]" 最后可以通过 git config -l 这个命令查看已配置的用户名和邮箱信息 原文地址:https://www.cnblog

git配置用户名邮箱

通常会配置全局的 用户名 邮箱  例如 姓名@公司邮箱  姓名 git config --global user.name "姓名" git config --global user.email "姓名@公司邮箱" 有时候 比如说需要在共享的代码(如github等)中 提交改动 用自己的姓名 就不太方便了 所以 可以对这个项目 单独设置 用户名及 邮箱 如下代码:需要进到对应项目的根目录下 git config user.name "昵称" gi

Git配置教程

Git使用教程 github不是特别的稳定,而且英文太多难以辨别,所以使用了JD的开源git. 在我的理解来开git像是一个虚拟主机或者一个ftp服务器. 常见的端口: ftp 21tcp ssh 22tcp www 80 dns 53tcp 53udp 我们可以使用ssh命令测试链接虚拟主机 #ssh-T [email protected] 整理过程: 1.先创建本地仓库 2.把文件添加进本地仓库 3.把本地的git链接到远程的仓库 4.把本地仓库的内容上传到远程仓库的某个分支 以下教程转载于

git 配置

1. 为本地所有的 git仓库 中配置自己的 git账户名称 和 邮箱,用于记录每次提交时所记录下来的日志     git config --global user.name "Your Name"     git config --global user.email "[email protected]" 2. 查看全部的配置变量,在其中可以查看到刚刚配置的两个最重要变量 user.name,user.email git config --list 3. 也可以通

【转】程序员必须知道的几个Git代码托管平台

 一.VS2013中克隆远程Git仓库和SSH的配置 1.VS2013中克隆远程项目  首先感谢园友的评论和补充,今日又仔细看了一下,VS2013中是可以克隆项目的,只是我一直用的GitHub来克隆的,所以没有注意到.我们打开VS2013,切换到团队资源管理器,如图: 点击连接到团队项目...,会看到如下图界面: 点击克隆,输入远程Git地址,然后点击克隆按钮,就会将远程仓库的项目克隆到本地,路径为下面文本框中的地址,我们也可以点击后面的...按钮进行修改或者手动输入. 2.SSH的配置 如果安