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 keyAdd SSH key新建或添加密钥,

将刚才在本地复制的id_rsa.pub密钥文本,粘贴到文本框中。

然后点击Add SSH key按钮即可完成。

posted @   余以为  阅读(128)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示