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配置重复,删除一个即可

相关推荐
小CC吃豆子33 分钟前
Then库的原理是什么?
运维·ssh
MicJordan2 小时前
macos安装Claude提示command not found
macos
坠金2 小时前
mac电脑网络卡顿解决方法
macos
dlhto2 小时前
Kiro Remote SSH 无法连接远程服务器问题排查与解决
运维·服务器·ssh
写点啥呢3 小时前
MacOS远程桌面报错0x207解决方法
macos
奶油话梅糖4 小时前
解决Windows SSH无法连接老旧网络设备(路由器交换机)
运维·windows·ssh
bing_feilong4 小时前
windows和ubuntu: ssh失败
网络·ubuntu·ssh
云霄IT5 小时前
ssh使用代理连接服务器:基本用法使用ncat
运维·服务器·ssh
CrankZ5 小时前
幕译 1.7--本地字幕生成与翻译--支持macOS,Windows
macos·whisper
ashcn20015 小时前
autohotkey模拟mac中英文切换和ESC切成英文(适配vim)
macos·autohotkey