当前位置: 首页 > news >正文

git配置密钥

在 TortoiseGit 中配置 SSH 密钥需要以下步骤,主要通过 **Pageant**(TortoiseGit 的 SSH 认证代理)来管理密钥:

 

---

 

### 方法一:通过 Pageant 加载密钥(推荐)

1. **打开 Pageant**:

   - 在 Windows 开始菜单中找到 `TortoiseGit` 文件夹 → 打开 **Pageant**。

   - 或直接运行:`C:\Program Files\TortoiseGit\bin\pageant.exe`(路径可能因安装位置而异)。

 

2. **添加私钥**:

   - 右键单击任务栏中的 Pageant 图标(一个戴帽子的电脑图标)→ 选择 **Add Key**。

   - 浏览到你的 SSH 私钥文件(通常位于 `C:\Users\<用户名>\.ssh\`):

     - 如果是 OpenSSH 格式的私钥(如 `id_rsa`),直接选择它。

     - 如果私钥是 **PuTTY 格式(.ppk)**,直接加载。

     - 如果私钥是 OpenSSH 格式(无后缀),需先转换为 PuTTY 格式:

       - 使用 **PuTTYgen**(TortoiseGit 自带)打开 `id_rsa` → 点击 **Save private key** 保存为 `.ppk` 文件。

 

3. **输入密码(如果密钥有密码)**:

   - 加载时会提示输入密钥的密码(如果有)。

 

4. **验证密钥是否加载**:

   - 右键单击 Pageant 图标 → **View Keys**,确认密钥已列出。

 

---

 

### 方法二:在 TortoiseGit 设置中指定私钥

1. **打开 TortoiseGit 设置**:

   - 右键单击任意文件夹 → 选择 **TortoiseGit** → **Settings**。

 

2. **配置 Git 的 SSH 客户端**:

   - 转到 **Network** 选项卡。

   - 在 **SSH** 部分,设置 `SSH Client` 的路径为 Git 的 SSH 客户端(非 PuTTY):

     ```

     C:\Program Files\Git\usr\bin\ssh.exe

     ```

     (根据你的 Git 安装路径调整)

 

3. **指定私钥路径(可选)**:

   - 在 `SSH Client` 路径后添加 `-i` 参数指定私钥(不推荐,优先用 Pageant):

     ```

     "C:\Program Files\Git\usr\bin\ssh.exe" -i "C:\Users\<用户名>\.ssh\id_rsa"

     ```

 

---

 

### 关键注意事项

1. **密钥格式**:

   - TortoiseGit 默认使用 **PuTTY 格式(.ppk)**。如果是 OpenSSH 格式(`id_rsa`),需用 **PuTTYgen** 转换(TortoiseGit 自带该工具)。

 

2. **公钥上传**:

   - 将公钥(`id_rsa.pub` 或 `.ppk` 文件中保存的公钥)上传到 Git 服务商:

     - **GitHub**:Settings → SSH and GPG keys

     - **GitLab**:Preferences → SSH Keys

 

3. **克隆仓库时使用 SSH 协议**:

   - 确保仓库 URL 是 SSH 格式(如 `git@github.com:user/repo.git`),不是 HTTPS。

 

---

 

### 验证 SSH 连接

1. 打开命令提示符或 Git Bash,运行:

   ```bash

   ssh -T git@github.com

   ```

2. 如果看到欢迎消息(如 `Hi username! You've successfully authenticated...`),说明配置成功。

 

---

 

### 总结流程

```

生成 SSH 密钥 → 用 PuTTYgen 转换为 .ppk 格式 → 通过 Pageant 加载 .ppk 私钥

```

这样在 TortoiseGit 执行操作(如拉取/推送)时,会自动使用 Pageant 中的密钥进行认证。

http://www.dtcms.com/a/271441.html

相关文章:

  • MTK-系统设置Settings 开机累计时长源码分析
  • AI芯片产品经理:算力革命的架构师
  • Mysql底层专题(七)MVCC多版本并发控制机制
  • STM32-定时器输入捕获
  • 高级LoRA:面向垂直领域LLM的实战微调指南——LoRA合并、续训、堆叠,Checkpoint管理
  • 佰力博PEAI压电分析仪-精准测量压电材料d33系数
  • RAG实战指南 Day 11:文本分块策略与最佳实践
  • HCIP(综合实验)
  • 腾讯位置商业授权未来驾车ETA(批量)
  • Fluent许可配置常见问题
  • ARM汇编编程(AArch64架构)课程 - 第8章:控制流与循环
  • 数字化管理新趋势:权限分级看板如何筑牢安全防线
  • 【Java】【力扣】【字节高频】3.无重复字符的最长字串
  • HTTP API 身份认证
  • 【Qt】Qt QML json处理
  • 微信获取access_token授权的两种不同情况
  • 零成本实现文本转语音
  • python网络爬虫笔记21:天地图解析服务调用教程
  • 正点原子学习 用户权限管理
  • 海康威视监控相机实时性研究
  • 深度学习遇到的问题
  • 一[3.7] YOLO系列基础(2)- “Bottleneck模块详解”
  • JavaScript对象的深度拷贝
  • 17.Spring Boot的Bean详解(新手版)
  • 十、Rocky Linux 9.x 在线安装Nginx 1.28.0
  • 豆包编写Java程序小试
  • 电子元器件基础知识总结
  • 基于SpringBoot+Vue的疫情问卷调查与返校信息管理系统】前后端分离
  • 城市地质大数据平台:透视地下空间,赋能智慧未来
  • git断点续传,中断后继续下载