mac电脑多个ssh keys共存

一、同一台电脑,不同域名的git仓库为什么要设置不同的ssh keys?

每个git仓库通常要求使用唯一的ssh key,以防止权限冲突和安全问题。

  • 权限控制:每个git仓库的权限是独立的,使用不同的ssh keys可以更好的管理权限,确保每个仓库的访问权限被正确控制。
  • 安全性:使用不同的ssh keys可以增加安全性,防止一个key被泄漏后影响到其他仓库的安全

二、如何设置不同的ssh keys

  1. 生成ssh keys
html 复制代码
// 执行完该命令会在ssh文件夹下生成两个文件,分别是xxx_id_rsa和xxx_id_rsa.pub,可以使用记事本打开,将.pub后缀的公钥复制到git仓库中的安全设置中即可
ssh-keygen -t rsa -C "email@example.com" -f ~/.ssh/xxx_id_rsa
  • ssh-keygen命令会生成rsa类型的密钥,即使不指定-t rsa,默认也会生成RSA密钥‌12
  • -t rsa:这里的-t代表type,表示指定密钥的类型。rsa代表RSA算法,这是一种非对称加密算法,常用于SSH连接
  • -C:这里的-C代表comment,用于提供一个注释。通常,这个注释可以是你的邮箱地址或其他任何标识信息。邮箱地址通常用作注释,因为邮箱地址具有唯一性,便于识别和管理密钥‌。
  • -f 指定密钥文件存储文件名,如果存在多个ssh keys,文件名要注意唯一性
  • git config --list 可以查看git的全部配置,email@example.com的值一般和git中配置的邮箱地址保持一致
  1. 配置ssh
html 复制代码
// 在终端中执行命令,打开ssh文件夹,找到config文件,修改配置
open ~/.ssh
  1. 修改config配置,ssh文件夹下若无config配置,可手动创建
html 复制代码
Host aa.com // 可以理解为别名
HostName aa.com // 托管仓库地址,实际的服务器地址
PreferredAuthentications publickey
IdentityFile ~/.ssh/example1_id_rsa // 指定私钥的存储位置

Host bb.com
HostName bb.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/example2_id_rsa

三、配置过程中碰到的问题

Please make sure you have the correct access rights and the repository exists git报错

问题排查&解决方案:

git服务器没有发现存储本地的ssh密钥。(git服务器已经存在我电脑的ssh秘钥),后排查发现Host bb.com配置重复,删除一个即可

相关推荐
仙剑魔尊重楼9 小时前
iMazing 3.1.3官方中文版新功能介绍
macos·objective-c·cocoa
闫记康11 小时前
linux配置ssh
linux·运维·服务器·学习·ssh
Genie cloud12 小时前
在 Mac 上使用 Docker 安装宝塔并部署 LNMP 环境
macos·docker·容器·云计算
清蒸鳜鱼13 小时前
【Mobile Agent——Droidrun】MacOS+Android配置、使用指南
android·macos·mobileagent
linweidong14 小时前
屏幕尺寸的万花筒:如何在 iOS 碎片化生态中以不变应万变?
macos·ios·移动开发·objective-c·cocoa·ios面试·ios面经
TESmart碲视16 小时前
如何用一套键盘鼠标切换多个输入设备?TESmart KVM热键工作原理深度解析.一份涵盖设计原理、使用方法与兼容性的完整技术指南
游戏·macos·计算机外设·kvm切换器·双屏kvm切换器
Roc.Chang17 小时前
Cursor / VS Code 常用快捷键对比表(Windows / Linux / macOS)
linux·windows·vscode·macos
2601_9491465317 小时前
Objective-C短信验证码接口开发:封装一个基础的网络请求工具方法
macos·objective-c·cocoa
刘某某.17 小时前
mac 上 WPS 公式字体不对
macos·wps
xzl0417 小时前
新IP的 SSH 指纹添加到 known_hosts 文件
网络协议·tcp/ip·ssh