指定ssh-key来登录Github
用ssh密钥连接到github仓库
生成 SSH
生成 SSH 密钥(如果还没有):
1 | ssh-keygen -t ed25519 -C "you_email@email.com" |
将公钥添加到平台
- 复制公钥内容:
cat ~/.ssh/id_ed25519.pub
- 添加到 GitHub: Settings → SSH and GPG keys → New SSH key
我们想git clone
一个自己的仓库,然后发现说没有权限
可是我明明已经生成了密钥呀
这就好比有了钥匙,但是没把钥匙加入到开锁的钥匙串里,你不知道你有这把钥匙(弱智
列出所有SSH密钥文件
1 | ls -al ~/.ssh |
按回车接受默认路径,设置密码(可选)
添加密钥到 SSH 代理:
1 | eval "$(ssh-agent -s)" |
解释:
1. eval "$(ssh-agent -s)"
- 作用:启动
ssh-agent
后台服务,并自动设置所需的环境变量(SSH_AUTH_SOCK
和SSH_AGENT_PID
)。ssh-agent
是一个管理 SSH 密钥的守护进程,它会记住你添加的密钥,避免每次使用密钥时重复输入密码。eval
会解析ssh-agent -s
的输出(环境变量设置命令),并直接在当前 Shell 中生效。
2. ssh-add ~/.ssh/id_ed25519
- 作用:将指定的 SSH 私钥(
id_ed25519
)添加到ssh-agent
中管理。- 如果私钥有密码保护,执行时会提示输入密码(只需输入一次,之后由
ssh-agent
自动管理)。 ~/.ssh/id_ed25519
是私钥文件的默认路径(根据你生成密钥时的设置)。
- 如果私钥有密码保护,执行时会提示输入密码(只需输入一次,之后由
并且这样应该也适用于保管好密钥文件后,在别的PC上使用该密钥登录