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 小时前
手滑点错更新也不怕!超详细 Mac 系统更新屏蔽指南(附安全恢复方案)
安全·macos
yuyousheng1 天前
mac 电脑复制粘贴剪切逻辑
macos
旭日跑马踏云飞1 天前
【macOS】相关
macos
lichao8904272 天前
MacOS 上部署 OpenClaw 的全界面操作方案
macos·docker·容器
ol木子李lo2 天前
Linux 命令备忘录
linux·运维·服务器·windows·编辑器·ssh·bash
美酒没故事°2 天前
mac电脑安装OpenClaw步骤
人工智能·macos
m0_738120722 天前
渗透测试——Momentum靶机渗透提取详细教程(XSS漏洞解密Cookie,SS获取信息,Redis服务利用)
前端·redis·安全·web安全·ssh·php·xss
小哈里3 天前
【工具】Linux远程开发核心工具,Git命令缩写与SSH常用命令
linux·git·ssh·工具·远程开发