【经验】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 ...
随机推荐
- Java开发自学第一天
Java学习日志 Day 01|2025/2/11|累计1天 今日学习时长 6小时 当日学习目标 1.了解JVM.JDK.JRE 2.学习Idea开发工具的基本使用 3.基本语法:运算符.数据类型.变 ...
- SpringBoot整合富文本编辑器(UEditor)
UEditro是一款比较好用的富文本编辑器,所谓的富文本编辑器就是和服务器交互的数据不是普通的字符串文件,而是一些内容包含比较广的字符串,一般是指的html页面,目前比较好用的是百度的UEditor, ...
- hbase - [04] java访问hbase
需要导入jar包 $HBASE_HOME/lib下的所有jar包 $HADOOP_HOME/share/hadoop/common的所有jar包 package com.harley.hbase.te ...
- Java进阶 - [1-5] 泛型
一.什么是泛型 早期Java是使用Object来代表任意类型的,但是向下转型有强转的问题,这样程序并不安全. 针对List.Set.Map等集合类型,它们对存储的元素类型是没有任何限制的.例如 ...
- Scala变量补充
package com.wyh.day01 object ScalaLanguage { def main(args: Array[String]): Unit = { /** * 定义变量和常量 * ...
- ABC393F题解
大概评级:绿. 一看到这种题目,就知道肯定是数据结构题,我们首先用一个众所周知的二分来求出 \(pos\) 数组,\(pos_i\) 表示以 \(i\) 结尾的最长上升子序列的大小,然后将询问离线,弄 ...
- curl使用总结
1.请求源码 curl http://wttr.in/ 天气网站 2.文件下载 -o :保存文件 -s:禁用进度表 --progress-bar:让进度显示为进度条 -C - :断点连续下载 --l ...
- Elasticsearch搜索引擎学习笔记(四)
分词器 内置分词器 standard:默认分词,单词会被拆分,大小会转换为小写. simple:按照非字母分词.大写转为小写. whitespace:按照空格分词.忽略大小写. stop:去除无意义单 ...
- C# 将list进行随机排序
private List<T> RandomSortList<T>(List<T> ListT) { Random random = new Random(); L ...
- 写于vue3.0发布前夕的helloworld之四
OK.接上回到render: with(this){return _c('div',{attrs:{"id":"app"}},[_v(_s(msg))])} 接 ...