【经验】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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix