ssh密钥失效解决办法

解决ssh密钥过期等一系列问题

由于期末考试,大概两三周没有更新博客,再次git提交时出现了如下问题。 经过一系列搜索,初步判断是由于时间问题,ssh密钥失效,于是重新生成了ssh密钥并提交到github,流程如下。

重新生成提交ssh密钥

1 由C:\Users\bradin\.ssh找到.ssh文件夹,删除该文件夹下所有文件 2 查看git全局配置是否正确 在任意位置git bash

1
git config --list

如果不正确,通过以下命令修改邮箱或用户名

1
2
3
4
修改用户名
git config --global user.name 'brandinzhang'
修改邮箱
git config --global user.email 'brandin_zhang@163.com'

3 修改本地ssh

1
ssh-keygen -t rsa -C "brandin_zhang@163.com"

一路回车,遇到y/n 键入y

4 打开C:\Users\bradin\.ssh\id_rsa.pub 复制该文件中的密钥内容 5 进入github,在settings中找到SSH and GPG keys 6 删除旧的ssh密钥,加入新的ssh密钥(new ssh key)

C:\Users\bradin\.ssh\id_rsa.pub 文件中的密钥内容粘贴进来

7 最后需要连接git与github 在任意位置git bash键入以下内容

1
ssh -T git@github.com

理论上这样就结束了,等待连接成功即可。但是我又出现了新的问题:

1
# ssh:connect to host github.com port 22: Connection timed out

也是就说github在端口号22上面的链接超时了。经过搜索最终通过下面方法解决了这一问题

解决github22 端口超时问题

参考 1 坑:ssh: connect to host github.com port 22: Connection refused - 知乎 (zhihu.com) 2 Git问题:解决“ssh:connect to host github.com port 22: Connection timed out”_github ssh 无法连接-CSDN博客 得到以下解决方案 1 在.ssh文件夹中新建一个config文件

1
touch config

2 创建完成后打开输入以下内容

1
2
3
4
5
6
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

这样ssh连接GitHub的时候就会使用443端口。 3 一路回车,提示处输入yes而非y 显示下图就连接成功了 4 回到原来blog目录利用hexo 上传文件

1
2
3
$ hexo clean
$ hexo g
$ hexo d

即可正常上传


ssh密钥失效解决办法
http://example.com/2024/01/21/cs/ssh密钥失效解决办法/
作者
bradin
发布于
2024年1月21日
许可协议