Git SSH key 的使用
摘要:
有时在我们第一次从某个git仓库拉取、推送代码或隔很长时间没有进行此操作的时候,git就会报
Permission denied (publickey)
的错误,这是因为本地的SSH key和远程账户中的密钥不一致导致的。所以我们需要在本地生成一个SSH key文件,然后在git账户中进行绑定。
生成步骤
1. 检查密钥文件
$ cd ~/.ssh
$ ls
以上指令将查找C:\Users\用户名.ssh文件夹中的文件是否存在,如果输出以下内容,则说明你曾经已经生成过SSH密钥文件了,id_dsa.pub是你的公钥,id_dsa是私钥。
authorized_keys2
id_dsa
known_hosts
config
id_dsa.pub
如果已经绑定到git账户中或者未查询到以上公私钥文件,但依旧报Permission denied (publickey)错误,说明你需要从新生成一个SSH密钥。
2. 生成密钥文件
粘贴下面的文本,把后面替换成你自己的git账户邮箱。
# 生成新的密钥
$ ssh-keygen -t rsa -C "email@example.com"
点击回车,命令行将出现以下内容,这是询问你是否将密钥保存在默认位置,你可以直接回车确定。
# 文件保存位置
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\DELL/.ssh/id_rsa):
如果你之前生成过SSH文件,将出现以下提示,这是询问你是否要完全覆盖旧的密钥文件,你可以输入"Y"以确认。
# 是否覆盖旧文件
C:\Users\DELL/.ssh/id_rsa already exists.
Overwrite (y/n)?
然后将询问你是否在每次通过ssh操作git时需要输入密码,你可以直接按两次回车置空,则视为不需要。
# 是否要求密码验证
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
操作完毕后,新的SSH密钥就生成了。
添加密钥到git账户(以github为例)
复制密钥文本
用记事本打开你刚刚生成的SSH密钥文件id_rsa.pub
(Windows默认目录为"%HOMEPATH%\.ssh
"),复制全部文本。
填入配置
点击右上角账号头像,选择Settings
按钮,
进入设置页面之后,点击侧边栏的SSH an GPG keys
选项,
然后点击New SSH key
或 Add SSH key
新建或添加密钥,
将刚才在本地复制的id_rsa.pub
密钥文本,粘贴到文本框中。
然后点击Add SSH key
按钮即可完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」