记录一个Github推送的问题(ssh推送出现:Connection closed by 198.18.0.9 port 22)

news/2025/1/8 16:18:31/文章来源:https://www.cnblogs.com/Vsonic12138/p/18657435

一、前言:

在公司需要将一个文档推送到GitHub仓库,由于Github对Https的推送已经移除了对密码认证的支持(2021.8.13),所以想要进行身份验证就只能使用两种方式:

  • 使用Persional Access Token(PAT)
  • 使用SSH认证
    PAT认证太麻烦了,每次都要输入,这里就主要介绍使用SSH认证的方式。

二、Github-SSH认证

生成 SSH 密钥:

打开终端(Git Bash 或其他终端)。
运行以下命令生成 SSH 密钥:

ssh-keygen -t ed25519 -C "your_email@example.com"

按提示保存密钥(默认路径即可)。
设置一个安全的密码(可选)。
(其实一直回车就好了)
image

将 SSH 密钥添加到 SSH 代理:

启动 SSH 代理:

eval "$(ssh-agent -s)"

添加 SSH 私钥到代理:

ssh-add ~/.ssh/id_ed25519

如果使用的是 RSA 密钥,替换为:

ssh-add ~/.ssh/id_rsa
  1. 将 SSH 公钥添加到 GitHub:
    复制公钥内容:
cat ~/.ssh/id_ed25519.pub

或(如果是 RSA 密钥):

cat ~/.ssh/id_rsa.pub

登录 GitHub,进入 Settings -> SSH and GPG keys。
image

点击 New SSH key,将公钥内容粘贴到 Key 字段中,然后保存。

将远程仓库 URL 改为 SSH:

检查当前远程仓库 URL:

git remote -v

如果 URL 是 HTTPS 的(如 https://github.com/...),将其改为 SSH:

git remote set-url origin git@github.com:Vsonic12138/Draw.io.git
  1. 推送代码:
    之后就可以直接推送代码,无需输入用户名和密码:
git push -u origin main

三、问题解决

在第二节在GitHub上配置好SSH Key之后,可以尝试在终端当中输入:

ssh -T git@github.com

用以测试配置是否成功,如果出现类似:

Hi Vsonic12138! You've successfully authenticated, but GitHub does not provide shell access.

说明可以成功进行之后的仓库推送了,但是我出现了这样的提示:
image
说明访问被端口22拒绝了,此时我们可以通过配置.ssh文件来进行端口的替换。
终端当中键入:

nano ~/.ssh/config

编辑这个配置文件如下:

Host github.comHostname ssh.github.comPort 443

image

将端口替换为443即可。

四、参考链接

https://paugram.com/tech/github-ssh-connection-closed-problem-with-proxy.html
https://chatgpt.com/share/677cc184-a598-8010-9a4b-5573460d97c0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/865320.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安川机器人的独特优势

安川机器人,这一源自日本安川电机(Yaskawa Electric Corporation)的杰出产物,是工业自动化领域中的佼佼者,其核心价值在于生产线上那精准无误的自动化作业能力。这款机器人集成了电机、减速器、传感器、控制器等一系列精密部件,如同一套高效协同的作战系统,为企业带来了生…

2020-2024 IDEA安装+激活

一、下载 1. IDEA各版本官方下载入口 IDEA官网下载地址 2. 选择左边,然后点击【20xx.x.x-Windows(exe)】 PS: 如需下载特定版本,可以往下拉,都是选择【202x.x-Windows(exe)】下载二、安装 1. 点击运行 ps: 安全警告是部分电脑有,没有跳过就可以了~2. 点击下一步3. 选择安…

CDS标准视图:维护包描述 I_MaintPackageTextData

视图名称:维护包描述 I_MaintPackageTextData 视图类型:基础 视图代码:点击查看代码 @EndUserText.label: Maintenance Package - Text @ObjectModel.dataCategory: #TEXT @VDM.viewType: #COMPOSITE @AbapCatalog.sqlViewName: IMNTPCKGTXTDATA @AbapCatalog.compiler.comp…

CDS标准视图:维护包数据 I_MaintenancePackageData

视图名称:维护包数据 I_MaintenancePackageData 视图类型:基础 视图代码:点击查看代码 @AbapCatalog.sqlViewName: IMAINTPCKGDATA @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #PRIVILEGED_ONLY @EndUserText.label: Maintenance Packa…

让跨 project 联查更轻松,SLS StoreView 查询和分析实践

在业务场景中,日志数据可能存储在日志服务 Project 的不同 Logstore/MetricStore 中或不同地域的 Project 中。日志服务的数据集(StoreView)功能支持跨地域、跨 Store 联合查询和分析,让用户基于数据集就能高效便捷地查询分析全地域的数据,真正做到数据分析不受地域边界的…

流程配置中心同步后流程版本ID不一致

不同的账套进行流程发布时会产生不同的版本ID , BOS同步后的流程设计的ID是相同的.

大语言模型提示技巧(六)-文本转换

大语言模型是基于自然语言的人工智能,所以它在语言上的表现相当出色,使用大语言模型进行可以进行诸如翻译、语气转换、润色、语言评价、扩写、润色等语言处理,对于日常文字工作,它是一名合格甚至优秀的私人秘书。 (一)翻译 在不同语言之间进行翻译是众多大语言模型都支持…

Unreal Engine 5 课程记录 蓝图部分(非教程)

学习课程:Unreal Engine 5 – Full Course for Beginners 非教程,仅学习记录及碎碎念,学完感觉UE就非常的像预制菜,简简单单就能有非常好的效果(非常に新鲜で、非常に美味しい!),但装料太足了要想拆分明白用料和流程又会比较复杂!Creating Levels 创建基本关卡,几个组…

Unreal Engine 5 课程笔记 蓝图部分

学习课程:Unreal Engine 5 – Full Course for Beginners 非教程,仅学习记录及碎碎念,学完感觉UE就非常的像预制菜,简简单单就能有非常好的效果(非常に新鲜で、非常に美味しい!),但装料太足了要想拆分明白用料和流程又会比较复杂!Creating Levels 创建基本关卡,几个组…

通过修改格式灵活运用百度搜索

1、“+”加号 —— 强制包含关键词 在关键词的前面使用加号,也就等于告诉搜索引擎该单词必须出现在搜索结果中的网页上。 例如:在搜索引擎中输入“+电脑+电话+传真”就表示要查找的内容必须要同时包含“电脑、电话、传真”这三个关键词。 2、“-”非——消除无关性 逻辑“非”…

Arm主板与x86主板的区别

在当今数字化迅猛发展的时代,计算机硬件的架构选择对于系统的性能、能效以及适用性具有至关重要的影响。Arm架构与x86架构是目前主流的两种计算机体系结构,各自在个人计算机、服务器、嵌入式系统及移动设备等领域中占据了重要地位。本文旨在探讨Arm主板与x86主板之间的区别,…

E. Beautiful Array(题解)

原题链接: https://codeforces.com/problemset/problem/1986/E 思路: 排序,取模, 思维 关于操作:ai=ai+k; 若要使a1+m1*k==a2+m2*k; 则当a1, a2满足a1%k==a2%k,a1,a2可以满足a1+m1*k==a2+m2*k;并在需要(|a1-a2|)/k次操作。将a数组取模后,用vector分别储存, a1和a2相差越…