解决ssh:connect to host github.com port 22: Connection timed out与kex_exchange_identification

一、问题

无法进行clone项目和其他Git操作。执行检测连接命令 ssh -T git@github,com报错
ssh:connect to host github.com port 22: Connection timed out
即:连接22端口超时
在这里插入图片描述

涉及到的文件
C:\Users\JIACHENGER.ssh\config
C:\Users\JIACHENGER.ssh\github_id_rsa
C:\Users\JIACHENGER.ssh\github_id_rsa.pub

C:\Users\JIACHENGER\.ssh\known_hosts生成SSH连接日志

host文件
C:\Windows\System32\drivers\etc\hosts
IP域名本地映射文件,只要在本机中查到了指定的域名,就不会继续去DNS(域名系统)中继续查找。
Windows设置本地DNS域名解析hosts文件配置

配置SSH公私钥可参考我这篇:GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置和检测不同SSH公私钥详细过程

二、解决问题

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

//详细连接过程,-v表示verbose  
ssh -vT git@github.com
或者
ssh -Tvvv git@github.com//nslookup是域名解析工具,8.8.8.8是Google的DNS服务器地址
nslookup github.com 8.8.8.8//使用本机已经设置好的DNS服务器进行域名解析
nslookup github.com

在这里插入图片描述
这里::1IPV6的localhost地址127.0.0.1IPV4的localhost地址。这里基本可以认为是DNS域名解析出了问题,导致GitHub的域名被解析成了本地localhost的ip地址,导致无法连接上GitHub。

2.2 kex_exchange_identification: Connection closed by remote host

此时又出现了一个问题

kex_exchange_identification: Connection closed by remote host
Connection closed by ::1 port 22

在这里插入图片描述

C:\Users\JIACHENGER\.ssh\known_hosts备份,后将known_hosts内容清空,再重新执行检测连接命令 ssh -T git@github,com,这样做偶尔可以连接成功,但过了一会儿还是会报同样的错误
在这里插入图片描述
我同时配置SSH公私钥的除了GitHub以外的其他平台(Gitee&Gitlab&极狐(JihuLab))都可以重新正常连接(过程中需要输入yes确认,表示确认添加主机到可信任列表本机在之前第一次生成SSH公私钥的时候,没有配置访问密码),并且在C:\Users\JIACHENGER\.ssh\known_hosts生成连接日志,如下图:
GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置和检测不同SSH公私钥详细过程
在这里插入图片描述

2.3 排除端口

C:\Users\JIACHENGER\.ssh\config 中,若config中没有指定端口,默认使用22端口,进行SSH连接。
使用443端口(默认情况)config配置如下:
注意:GitHub端口 443 的主机名Hostnamessh.github.com,而不是 github.com

# github
# ssh -T git@github.com
Port 443    
#Port 22 
Host github.com
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

使用22端口(默认情况,不配置也是使用22端口)config配置如下:

# github
# ssh -T git@github.com
#Port 443    
Port 22 
Host github.com
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

仍然还会报同样的错误说明大概率和端口没有关系:
在这里插入图片描述

2.4 在hosts中手动配置GitHub域名映射解决问题

host文件C:\Windows\System32\drivers\etc\hosts手动配置GitHub域名映射,在文件末尾处增加一行 140.82.113.4 github.com。此处的域名github.comC:\Users\JIACHENGER\.ssh\config文件中GitHub配置的Hostname值一致,均为github.com

# github
# ssh -T git@github.com
#Port 443  
#注意:GitHub端口 443 的主机名Hostname为 ssh.github.com,而不是 github.com。  
#Port 22  此处注释,默认也使用22端口
Host github.com
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

IP域名本地映射文件,只要在本机中查到了指定的域名,就不会继续去DNS(域名系统)中继续查找。
参考:Windows设置本地DNS域名解析hosts文件配置

# Added by Docker Desktop
192.168.1.14 host.docker.internal
192.168.1.14 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section#2023-9-19 19:08:03 配置
#解决ssh:connect to host github.com port 22: Connection timed out等问题
#在hosts中手动配置GitHub域名映射140.82.113.4 github.com

C:\Windows\System32\drivers\etc\hosts中手动配置GitHub域名映射使用时,同时不需要在C:\Users\JIACHENGER\.ssh\config 文件中配置端口,默认使用22端口
如下

# github
# ssh -T git@github.com
#Port 443    
#Port 22 
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

如果配置了端口,就会报下面的错误:

在这里插入图片描述

在hosts中手动配置GitHub域名映射后检测GitHub连接(config中不配置端口,默认使用22端口),成功连接

$ ssh -T git@github.com
Hi DJCKING! You've successfully authenticated, but GitHub does not provide shell access.

在这里插入图片描述

三、参考

测试 SSH 连接
在 HTTPS 端口使用 SSH
GitHub&Gitee&Gitlab&极狐(JihuLab)同时生成并配置和检测不同SSH公私钥详细过程
Git问题:解决“ssh:connect to host github.com port 22: Connection timed out”
坑:ssh: connect to host github.com port 22: Connection refused
Windows设置本地DNS域名解析hosts文件配置
ssh远程登录报错:kex_exchange_identification: Connection closed by remote host

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

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

相关文章

C++(9.5)——浅谈new和delete的实现原理

(注:本文是针对上篇文章中C内存管理的两个关键字)两个关键字原理的解析,对于这两个关键字的使用并没有什么影响,如果只想得知两个关键字的使用方法,则可以直接跳过本篇文章) 目录 1. 引入: 2.operator new 与 operat…

SSL证书在哪里申请?

SSL证书可以有效帮助您的网站解决部分安全问题,并让用户访问时感觉到更加安全。并且对网站的seo有良好的帮助。 SSL证书在哪里申请的步骤 永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL 一:可以在JoySSL申请到免费的SSL证书&#xf…

“To-Do Master“ GPTs:重塑任务管理的趣味与效率

有 GPTs 访问权限的可以点击链接进行体验:https://chat.openai.com/g/g-IhGsoyIkP-to-do-master 部署私人的 To-Do Master 教程:https://github.com/Reborn14/To-Do-Master/tree/main 引言 在忙碌的日常生活中,有效地管理日常任务对于提高生…

网站监测工具的极与极,Site24x7 与百川云

今天我们聊聊我用 Site24x7 的感受。对于有网站监测有需求的站长们来说,Site24x7 确实是个很强大的应用。但是它与百川云网站监测完全不一样,百川云网站监测是适合用中小微企业的交互极简的saas 应用,Site24x7 完全是另一个极端,适…

ConcurrentSkipListMap 深度解析

ConcurrentSkipListMap是Java集合框架中的一员,它实现了ConcurrentNavigableMap接口,基于跳表(Skip List)实现,并提供了高效的并发控制。在本文中,我们将深入研究ConcurrentSkipListMap的底层实现原理、适用…

MySQL运维篇(二)主从复制

一、概述 主从复制是指将主数据库的 DDL 和 DML 操作通过 二进制日志 传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL 支持一台主库同时向多台从库进行复制, 从…

【脑筋急转弯系列】乒乓球称重问题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

2024年第十届控制、自动化与机器人国际会议(ICCAR 2024)即将召开!

2024年4月27~29日 新加披 会议官网:10th-ICCAR 2024https://iccar.org/index.html 第十届控制、自动化和机器人国际会议将于2024年4月27-29日在新加坡举办。本次会议由新加坡电子学会,IEEE机器人和自动控制协会和IEEE联合主办,并得到北京航空…

【Scala】——流程控制

1 if-else 分支控制 让程序有选择的的执行,分支控制有三种:单分支、双分支、多分支 1.1单分支 if (条件表达式) {执行代码块 }1.2 双分支 if (条件表达式) {执行代码块 1 } else {执行代码块 2 }1.3 多分支 if (条件表达式1) {执行代码块 1 } else …

算法第十四天-删除有序数组中的重复项

删除有序数组中的重复项 题目要求 解题思路 双指针 左指针确定不重复值,右指针遍历数组 代码 class Solution:def removeDuplicates(self, nums: List[int]) -> int:left0for right in range(1,len(nums)):if nums[left] ! nums[right]:left 1nums[left] nu…

2024年中国电子学会青少年编程等级考试安排的通知

各有关单位、全体考生: 中国电子学会青少年等级考试(以下简称等级考试)是中国电子学会为落实《全民科学素质行动规划纲要》,提升青少年电子信息科学素质水平而开展的社会化评价项目。等级考试自2011年启动以来,作为中国电子学会科…

缓存学习实战篇

缓存练习题&#xff08;用户查询操作&#xff09; public List<ShopType> queryAllType() throws JsonProcessingException {//从缓存中查数据String shopTypeJson stringRedisTemplate.opsForValue().get("cache:shopType");//如果缓存命中&#xff0c;if (S…

叉车车载终端定制_基于MT6762安卓核心板的车载终端设备方案

叉车车载终端是一款专为叉车车载场景设计的4英寸Android车载平板电脑。它采用了高能低耗的8核ARM架构处理器和交互开放的Android 12操作系统&#xff0c;算力表现强大。此外&#xff0c;该产品还具备丰富的Wi-Fi-5、4G LTE和蓝牙等通讯功能&#xff0c;可选配外部车载蘑菇天线&…

#{}和${}有什么区别

一、概念 在 MyBatis 中&#xff0c;#{}和${}是两种不同的参数占位符语法&#xff0c;它们在使用方式和处理方式上有一些区别。 #{} 的使用方式&#xff1a; #{} 是预编译的语法&#xff0c;会将参数值作为一个占位符来进行处理。#{} 可以用于任何 SQL 的部分&#xff0c;如查…

一些平时很少用,但关键时刻很有用的华为手机功能

天灾&#xff0c;自古以来就是威不可知亦不可测的东西&#xff0c;但大自然中的很多意外&#xff0c;其实可以做到有迹可循。 地震预警功能 前段时间频繁地震&#xff0c;一个月内先是积石山&#xff0c;而后是日本能登。 这时候&#xff0c;手机上的地震预警功能就是能够帮…

黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(5)登录认证

指路&#xff08;1&#xff09;&#xff08;2&#xff09;&#xff08;3&#xff09;&#xff08;4&#xff09;&#x1f447; 黑马程序员JavaWeb开发|案例&#xff1a;tlias智能学习辅助系统&#xff08;1&#xff09;准备工作、部门管理_tlias智能学习辅助系统的需求分析-CS…

力扣hot100 二叉树中的最大路径和 递归

Problem: 124. 二叉树中的最大路径和 文章目录 解题方法复杂度&#x1f496; Code 解题方法 &#x1f468;‍&#x1f3eb; 参考思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f496; Code /*** Definition for a binary tree no…

教你用通义千问只要五步让千年的兵马俑跳上现代的科目三?

教你用五步让千年的兵马俑跳上现代的舞蹈科目三&#xff1f; 上面这个“科目三”的视频&#xff0c;只用了一张我上月去西安拍的兵马俑照片生成的。 使用通义千问&#xff0c;只要5步就能它舞动起来&#xff0c;跳上现在流行的“科目三”舞蹈。 全民舞王 第1步 打开通义千问…

js 回文串

思路&#xff1a; 判断一个字符串是否为回文字符串的基本思路是比较字符串的正序和倒序是否相同。 两者相同&#xff0c;则该字符串是回文字符串&#xff0c;否则不是。 要实现这一思路&#xff0c;我们可以使用 JavaScript 字符串的一些方法。我是忽略了所有的空格和符号&…

【grpc】利用protobuf实现java或kotlin调用python脚本,含实现过程和全部代码

前言 在一些特殊场景中&#xff0c;我们可能需要使用java或者其他任意语言调用python脚本或sdk等。本文的需求衍生也不例外于此&#xff0c;python端有sdk&#xff0c;但只能在python中调用&#xff0c;于是就有了本文章。 常见的调用方式如jython、python提供http rest接口、…