Git ssh 配置多账户

本文介绍了在Windows上使用Gitbash为不同的GitHub用户创建和管理私钥公钥对。通过ssh-keygen生成密钥,并在~/.ssh目录下创建config文件来指定不同用户的SSH身份。在拉取仓库时,如gitclone命令,系统会根据config设置使用相应的密钥进行身份验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意:如果是 windows 需要使用 Git bash

创建私钥公钥


ssh-keygen -t <文件名称> -C “<注释内容>”

ssh-keygen -t user_1 -C “user_1” # 用户1
ssh-keygen -t user_2 -C “user_2” # 用户2

执行命令后,会在 ~/.ssh 目录下生成 user_1user_1.pub 两个文件,其中 user_1.pub 就是你的公钥
使用命令 cat ~/.ssh/user_1.pub 查看公钥
复制到 Git 仓库 ssh 配置项中

新建并配置 config 文件


在 ~/.ssh 目录下新建 config 文件,无需后缀,
往里面添加内容

# 示例用户1
Host user_1
HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/user_1
  
# 示例用户2
Host user_2
HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/user_2

链接


这里以请求 https://github.com/netchx/netch.git 为例

git clone https://user_1/netchx/netch.git    # 将使用 user 1 的密钥
git clone https://user_2/netchx/netch.git    # 将使用 user 2 的密钥

重要!!!


在拉仓库的时候
git clone https://user_1/netchx/netch.git

会有提示,
Are you sure you want to continue connecting (yes/no/[fingerprint])?
这里一定要输入 yes
### 配置 VSCode 中的 Git 使用 SSH 身份验证 为了实现 GitSSH 的集成,在 VSCode 中设置 Git 使用 SSH 进行身份验证需要完成以下几个方面的工作。 #### 创建和配置 SSH 密钥 首先,创建一个新的 SSH 密钥对用于身份验证。如果尚未生成过 SSH 密钥,则可以通过运行以下命令来生成新的密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会提示指定保存位置以及密码保护选项[^1]。完成后,将生成的公钥添加至目标代码托管平台(如 GitHub 或其他支持 SSH 的服务)。具体操作是在账户的安全设置页面找到 **SSH and GPG keys** 板块,点击新增按钮并将公钥内容粘贴进去[^2]。 #### 设置本地 Git 库使用 SSH 地址 确认本地仓库已经正确指向基于 SSH 协议的远程地址非常重要。可以在 VSCode 终端执行如下指令检查当前关联的远端链接情况: ```bash git remote -v ``` 如果发现不是以 `git@` 开头的形式表示该库还未切换成利用 SSH 访问的方式。此时可以手动修改默认推送/抓取路径为对应的 SSH URL 形式,比如对于某项目来说可能是这样的形式: ```bash git remote set-url origin git@github.com:username/repository.git ``` #### 测试连接有效性 最后一步就是检验整个流程是否成功建立起来。尝试向远程主机发起一次简单的握手请求即可得知状况如何: ```bash ssh -T git@github.com ``` 当收到类似 “Hi username! You've successfully authenticated...” 的消息反馈时即表明一切正常。 #### 在 Visual Studio Code 内部启用 SSH 支持 确保安装了官方扩展包「Remote Development」集合中的组件之一——「Remote - SSH」插件之后,就可以轻松管理多台机器上的开发环境并通过它们直接克隆存储库等内容下来处理了。 ```python import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect('hostname', port=port, username='username', key_filename='/path/to/private/key') stdin, stdout, stderr = client.exec_command('ls /home/') print(stdout.read().decode()) client.close() ``` 以上脚本仅作为演示 Python 下通过 Paramiko 实现基本 SSH 功能的例子,并不直接影响到实际 VSCode 对于 Git over SSH 的运用过程之中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值