【经验】Git|Windows下如何管理和部署多个Git账号的SSH密钥文件
生成 SSH 密钥
先打开一个git窗口,生成ssh密钥。
如果打开的不是git窗口,而是cmd窗口,则需要先切换到
C:\Users\用户名\.ssh目录下。
下面这条指令的your_email和youremail.com可以随便写。
ssh-keygen -t rsa -C "your_email@youremail.com"
指令运行的过程中会要求填写生成的密钥文件的名称,任意填写即可,比如填写gitee_rsa,如下图所示。

查看生成的密钥
然后,查看刚刚生成的密钥。
每台电脑都有一个正在使用电脑的用户。比如我的电脑的用户名是12524。
不出意外的话,在系统盘的用户目录下有.ssh文件。
C:\Users\12524\.ssh

会看到id_rsa/id_rsa.pub这两个刚才生成的密钥文件。其中id_rsa.pub文件中的内容就是SSH公钥,用记事本打开它。

填写密钥
点击码云或Github的设置页面,转到SSH密钥的配置。
下面以码云为例。

随便起一个标题,然后把id_rsa.pub的内容粘贴到公钥中去。再点击确定。
配置本地 config 文件
配置格式:
Host two.gitee.com
HostName gitee.com
PreferredAuthentications publickey
User Two
IdentityFile ~/.ssh/id_rsa
Host后面填写你用来链接仓库时的名称,HostName后面写网址,PreferredAuthentications publickey照抄,User后面任意填写,意思是用户的名字,IdentityFile后面填写刚刚生成的密钥的文件路径。
(如果看不懂,没关系,先看下一节——如何使用这些配置去连接和部署仓库)
我自己的配置文件内容如下。

测试配置是否正确
首先,你可以测试一下配置是否正确,
假设你的Host是two.gitee.com,那么:
ssh -T git@two.gitee.com
正常情况下,会显示:

添加config(全局或本仓库)
如果以前已经配置过了,只是为了配置多个账号的git,这步也需要稍微注意。
因为这一步是用来告诉Git,作者的身份。对于多人共同使用的电脑,如果每个仓库有不同的作者,那么就应该针对仓库设置不同的config。
如果是第一次用,那么这步是必需的,如果不设置,则Git将会提示:
Author identity unknown
*** Please tell me who you are.。
当然,这个设置个假的,也没事。
全局config示例如下:
git config --global user.name "shandianchengzi"
git config --global user.email "xxxx@xxx.com"
只在本仓库添加时,只需去掉--global即可。
连接远程仓库
然后就可以git remote add连接到远程仓库了。
可以先用
git remote -v检查一下当前目录下有没有链接别的仓库,如果有链接就先用git remote remove移除。
注意,用git remote add连接远程库的时候,也是用的Host中填的东西。
git remote add origin git@two.gitee.com:yourName/repositoryname.git
其中git@two.gitee.com:yourName/repositoryname.git是克隆仓库的时候对应的那个路径,注意将gitee.com修改为自己填写的Host即可。

然后就能愉快地git push了。
有多个账号的时候,只要保证Host互不相同即可。
注意,Linux下这些密钥的文件权限要是700,Windows下是778
cd ~/.ssh && chmod 700 * # Linux
cd ~/.ssh && chmod 778 * # Windows
【经验】Git|Windows下如何管理和部署多个Git账号的SSH密钥文件的更多相关文章
- windows下安装Redis并部署成服务
windows下安装Redis并部署成服务 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 一:下载 下载地址: windows版本: http ...
- windows下apache + mod_wsgi + python部署flask接口服务
windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在 ...
- [MapReduce_add_1] Windows 下开发 MapReduce 程序部署到集群
0. 说明 Windows 下开发 MapReduce 程序部署到集群 1. 前提 在本地开发的时候保证 resource 中包含以下配置文件,从集群的配置文件中拷贝 在 resource 中新建 ...
- 【前端工具】 git windows下搭建全过程
1. Git,Windows下的Git,地址:http://msysgit.googlecode.com/files/Git-1.7.9-preview20120201.exe(方便下载) 2 .SS ...
- windows下RocketMQ的安装部署
一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...
- 【转】windows下nginx+mono+fastCGI部署asp.net网站
原文链接:http://www.cnblogs.com/amityat/archive/2011/08/23/2150153.html 1,什么是nginx 简介Nginx ("engine ...
- Git - Windows 下, gitbash 打开资源管理器
1. 概述 windows 下 gitbash 打开 资源管理器 2. 场景 资源管理唤起 gitbash 步骤 进入目录 鼠标右击 在 弹出菜单 中, 找到 Git Bash Here 结果 打开一 ...
- windows下安装redis并部署服务
下载地址: windows版本: https://github.com/MSOpenTech/redis/releases Linux版本: 官网下载: http://www.redis.cn/ gi ...
- 使用GIT进行源码管理 —— 在VisualStudio中使用GIT
GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...
- Golang调用windows下的dll动态库中的函数 Golang 编译成 DLL 文件
Golang调用windows下的dll动态库中的函数 package main import ( "fmt" "syscall" "time&quo ...
随机推荐
- redis的连接池和管道
NoSQL泛指非关系型的数据库 非关系型数据库和关系型数据库的差别: 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高 可扩展性同样也 ...
- 【忍者算法】从拉链到链表:探索有序链表的合并之道|LeetCode 21 合并两个有序链表
从拉链到链表:探索有序链表的合并之道 生活中的合并 想象你正在整理两叠按日期排好序的收据.最自然的方式就是:拿起两叠收据,每次比较最上面的日期,选择日期较早的那张放入新的一叠中.这个简单的日常操作,恰 ...
- [TJOI2019] 甲苯先生的字符串 题解
有点水了-- 考虑相邻的不能放在一起,不相邻的可以,那么很容易想到转移方程: \[dp_{i,j}=\sum_{k=0}^{25}dp_{i-1,k}[j,k不相邻] \] 其中 \(dp_{i,j} ...
- KUKA库卡机器人KR120维修故障参考方案
随着智能制造的飞速发展,KUKA库卡机器人KR120以其稳定的特点,在自动化生产线上扮演着举足轻重的角色.然而,任何机械设备在长期运行过程中都难免会遇到故障.本文将针对KUKA库卡机器人KR120维修 ...
- java.lang.IllegalStateException: File name has been re-used with different files. (flume报错)
报错日志: java.lang.IllegalStateException: File name has been re-used with different files. Spooling ass ...
- vue3用vite新建项目
1. npm init vue@latest vue3-project 调用create-app创建, 指定了目录是vue3-projece,但是,紧接着有一堆配置要询问. 2. npm create ...
- python xlrd 读取表格 单元格值被覆盖
代码实现顺序: 按行读取 按列读取 满足if条件 单元格值赋值给字典 实现代码: datas = []# 定义一个空列表 for i in range (3,nrows): sheet_data={} ...
- 第十八届全国大学生信息安全竞赛暨第二届“长城杯”铁人三项赛web方向部分wp
第十八届全国大学生信息安全竞赛暨第二届"长城杯"铁人三项赛web方向部分wp hello_web 查看源代码发现有两个文件,访问一下 Tips是phpinfo 里面可以看到disa ...
- JMeter 简介
JMeter 下载地址: https://jmeter.apache.org/ apipost 下载地址:(另外一个工具) https://www.apipost.cn/
- ubuntu 22.04 deskop 无法打开terminal
系统语言设置的问题,改为汉语即可