Git 使用ssh方式 本地单用户修改为多用户

Git多用户SSH密钥配置
本文介绍如何在Git中配置多个SSH密钥,实现不同用户对多个项目的访问。包括清除全局用户信息、生成和关联SSH密钥、配置本地sshkeys及项目密钥关联的方法。


*访问多个git服务器的不同项目,可以在本地配置多个ssh key私钥,关联各自git服务器,每个项目通过不同的key操作

一、清除之前的全局单用户信息

# 查看全局配置
git config --global --list

# 卸载全局配置
git config --global --unset user.name
git config --global --unset user.email

二、本地生成多个ssh key私钥

本案例通过码云演示,原理一样,其他git服务,相同操作即可

2.1 生成git密钥文件

添加名为id_rsa_gitee的密钥文件
此命令请在目录C:/Users/xxxxxxxxxx/.ssh(git默认私钥文件目录)中通过git窗口执行
xxxxxxxxxx是自己的电脑用户名

# 生成码云(gitee)ssh的私钥文件
ssh-keygen -t rsa -C "xxx@xxx.com"  (修改自己的账号)

在这里插入图片描述
设置ssh密码(本地ssh的密码),默认为空就行,直接回车
在这里插入图片描述在这里插入图片描述
在C:/Users/LC/.ssh目录中生成id_rsa_gitee、id_rsa_gitee.pub两个文件
在这里插入图片描述
目录路径“LC”是我电脑用户名,请用自己的用户名

2.2 密钥文件关联git服务器

把文件id_rsa_xxxxxxx.pub(每个git服务器生成一个)中的内容配置到git服务器的SSH公钥管理中,每个git服务配置不一样,请查看各自的官网文档

2.3 本地添加ssh keys的配置文件

该配置文件管理本机ssh keys,在C:\Users\LC.ssh目录中添加config文件
在这里插入图片描述
详细配置信息

Host github.com
    HostName github.com
    User xxxxxx
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
 
Host gitee.com
    HostName gitee.com
    User xxxxx
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitee
  • Host和HostName:git服务器地址
  • User:git用户名
  • PreferredAuthentications:身份验证方式:公钥
  • IdentityFile:验证文件,本地生成的密钥文件

三、项目关联ssh key密钥

3.1和3.2任选一种即可

3.1 通过命令关联项目和密钥

以下“user.name=xxxx”对应 步骤3 中config文件中的“User xxxx”

# 查看项目用户信息
git config --list
# 设置项目用户名
git config user.name "xxxxx"
# 设置项目邮箱
git config user.email "xxxx@xx.com"

3.2 手动添加配置文件

在项目中.git目录中修改config,添加user配置, 默认没有改配置

[user]
    name = xxxx
    email = xxx@xxxx.com
### 如何在 GitCode 上配置使用 SSH 进行代码仓库管理 #### 创建 SSH 密钥对 为了安全地访问 GitCode 仓库,需要创建一对 SSH 密钥。这可以通过 `ssh-keygen` 工具来实现: ```bash ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitcode -C "你的 gitcode 邮箱" ``` 这条命令会在用户的 `.ssh/` 文件夹下生成私钥 (`id_rsa_gitcode`) 和公钥 (`id_rsa_gitcode.pub`) 文件[^3]。 #### 添加 SSH 私钥至 SSH Agent 为了让计算机记住这个私钥,在每次启动终端时不需要重新输入密码,需将该私钥添加到 SSH agent 中: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa_gitcode ``` 上述指令先启动了 SSH agent, 接着加载了之前生成的私钥文件[^5]。 #### 编辑 SSH Config 文件以便区分不同平台的身份认证 当有多个远程主机要连接时,编辑 `~/.ssh/config` 文件可以帮助简化过程并指定不同的身份验证方式。对于 GitCode 的设置如下所示: ```plaintext Host gitcode.net HostName gitcode.net User 成你的 gitcode 邮箱 IdentityFile ~/.ssh/id_rsa_gitcode ``` 这段配置使得以后只需要用简单的域名就能识别特定的服务提供商及其对应的密钥。 #### 将公钥添加到 GitCode 账户中 登录 GitCode 后台管理系统,找到个人资料中的 SSH keys 设置部分,粘贴前面生成的 `id_rsa_gitcode.pub` 内容到这里保存下来。这样就完成了客户端与服务端之间基于 SSH 协议的安全通信链路建立工作[^4]。 #### 关联本地仓库与远端仓库 假设已经克隆了一个新的项目,则可以在该项目根目录内运行下面两条命令之一来进行初始化以及绑定远程地址的操作: ```bash cd ./你的项目名称 git remote add origin git@gitcode.net:用户名/项目.git ``` 这里 `origin` 是给定的一个默认别名代表指向官方源的位置;而后面的 URL 地址则是从 GitCode 获取的具体项目的 SSH 访问路径。 #### 提交更前设定全局用户信息 如果还没有定义过的话,建议现在也顺便把个人信息设好,方便日后追踪贡献者身份: ```bash git config --global user.name "用户名" git config --global user.email "邮件" ``` 这些数据仅作为元数据附加于每一次提交记录之中,并不涉及权限校验逻辑。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值