git ssh 多用户配置

背景

最近项目需要推送到 gitee 两个账号下的不同仓库,本篇文章记录本次学习.

git ssh

架设 Git 服务器时常用 SSH 协议作为传输协议。 因为大多数环境下服务器已经支持通过 SSH 访问 —— 即使没有也很容易架设。 SSH 协议也是一个验证授权的网络协议;并且,因为其普遍性,架设和使用都很容易。

一般 ssh 协议地址格式 : user@server:path/to/repo.git.

git 官方文档 ssh 协议.

生成 ssh 公钥

示例 :

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

首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。

git 官网文档 ssh 公钥生成.

ssh-agent

如果在上一步选择设置了密码(一般不设置),可以使用ssh-agent来避免每次commit都需输入密码;

ssh 官网文档 ssh-agent介绍
ssh-agent 命令介绍

如果ssh-agent未在登录时自动启动,则可以使用以下命令手动启动

示例 :

	eval `ssh-agent`

将SSH密钥添加到代理

示例 :

	ssh-add ~/.ssh/id_rssa_boot

示例

命令将列出代理当前可访问的私钥

示例 :

	ssh-add -l

示例

本地 ~/.ssh/config 文件配置

因为要推送到gitee两个账号下的不同仓库,因为不同账号不能使用同一份公钥文件,所以需要生成两对秘钥文件,并在本地配置好 config 文件,本地 ~/.ssh/ 文件夹下结构如下:

示例
配置 config 文件
git 默认使用 id_rsa 公钥文件,无特殊配置则会使用此文件.config 文件配置项可以在linux下使用 man ssh_config 命令查看 配置选项.

示例 :

Host boot 									//远程服务本地设置的别名
	HostName  gitee.com  					//实际的远程主机地址
	User  git								//实际的远程主机的用户名 默认使用 git 就可以
	PreferredAuthentications publickey		//授权方式 选择 publickey
	IdentityFile  ~/.ssh/id_rssa_boot		//指定授权使用的秘钥文件,

测试结果:

	ssh -T boot		//此处 boot 即为配置文件中的 Host 项配置

在这里插入图片描述

本次使用的配置文件比较简单,需要其他配置项可查看 ssh 官方文档-config 配置选项 (链接)

配置远程仓库的 公钥

把生成的公钥上传至对应的 gitee 账户
示例

修改本地仓库项目中的对应的远程仓库地址

修改本地仓库对应的远程地址:

	git remote set-url origin boot:[user/project.git]		//此处 boot 即为配置文件中的 Host 项配置

ssh 官方文档- git remote 用法 (链接)

结束

大功告成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值