惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

win or mac clash 无 TUN 让 Antigravity、Chrome 强制 proxy(解决 Antigravity 无法加载选择 model、自动更新无法登录、跳转) 【大杂烩】在 pnpm 中直接修改 node_modules(.pnpm) 中的依赖项,项目中持久化 - pnpm 中的依赖处理、幽灵依赖、寻址规则等 在 html 中直接使用 Esm、Jsx 脚本快速调试和使用 React@19 和 Vue@3 源码,解决 React19 UMD 构建等问题 一键在本地批量检测并升级更新 package.json 中的模块依赖,ncu(npm-check-updates)在 npm、pnpm 或 workspace 项目中的使用教程 解决 Mac Docker Desktop 中启动出现的问题合集 通过阿里云、腾讯云无服务器搭建自定义的企业域名邮箱,实现在 QQ邮箱 收发等功能(附腾讯 SMTP 和 IMAP) 静态文件资源 cdnjs, jsdelivr 抖音字节国内快速 CDN 镜像推荐【2025】- 仍在使用 bootcdn 和 staticfile CDN 请注意验证资源的完整性(SRI) pnpm monorepo 中管理依赖的最佳实践,与 Catalogs(目录)协议的使用(monorepo 中统一版本管理) Web 安全中的 Secure Contexts(安全上下文)- 解决在本地中使用 clipboard 或 Crypto 等 API 限制或关闭上下文限制 使用 serve 配合 openssl 或 mkcert 创建本地自签名可信任的证书 - 创建本地 TLS\SSL https 协议服务 利用 Github Actions 和 Acme 自动申请、更新和部署至阿里云、腾讯云 CDN Lets Encrypt SSl\TLS ECC RSA 双证书
解决使用代理(clash 等)进行 SSH 连接(如 Github ssh key clone/push)出现 kex_exchange_identification 错误
kshao · 2025-01-02 · via

当进行 SSH 连接时抛出 kex_exchange_identification: Connection closed by remote host,如果你使用了代理工具,那基本上为代理的问题

可能出现该错误的原因:网络中断、不稳定等,端口连接失败(本地或代理的防火墙)

最小复现:选择一个无法连接的节点,或在连接途中切换网络环境(或节点)

方案

  1. 不使用代理。如果是和 Github 进行交互可以选择 Https 方式进行。

    git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
  2. 在 "Https" 端口上使用 SSH

通过 443 端口连接 SSH

前提:SSH 服务需要支持该端口,如 Github

大多数规则(或防火墙)都不会对 443 端口进行限制(基本上你能访问 Https 站点即代表 443 是放行的)

当然,在配置之前可以先测试 443 的连通性(注意:支持 443 端口的域名为 ssh.github.comgithub.com

ssh -T -p 443 git@ssh.github.com

若如下输出,则表明连接成功

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

确保刚才的测试指令可以连通 443 端口

编辑 ~/.ssh/config(win:用户目录/.ssh),即可无感切换端口连接 SSH

for Linux:若无该配置文件,保存时会自动创建

vim ~/.ssh/config

ssh.github.com 该域名同样也支持默认端口 22

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

测试

注意这里使用的是原来的域名 github.com,对使用来说无感知

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

不同端口的连接(开启 TUN 模式,可在代理软件中查看相关连接)

[{"url":"https://static.ksh7.com/post/ssh-connection-errors/clash-1.webp","alt":"","title":""},{"url":"https://static.ksh7.com/post/ssh-connection-errors/clash-2.webp","alt":"","title":""}]

至此教程结束

相关知识

SSH known_hosts

当使用 SSH 连接新的服务时(如 ssh.github.com),SSH 会展示目标服务的公钥指纹用于验证服务。当输入 yes 后,服务器公钥将会被保存至 ~/.ssh/known_hosts 中用于后续连接时的公钥验证

# The authenticity of host '[ssh.github.com]:443 ([140.82.112.36]:443)' can't be established.
# ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
# This host key is known by the following other names/addresses:
#     ~/.ssh/known_hosts:32: github.com
# Are you sure you want to continue connecting (yes/no/[fingerprint])?

Github 提供的 SSH 密钥指纹,可添加至 known_hosts 文件中,避免在连接时手动验证(验证也仅在第一次)

终端代理 与 TUN 模式

通过 export http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890 可在终端设置 代理的环境变量

需要注意的是,一些命令如 SSH、PING 等由于自身实现,或传输层限制等无法使用终端代理,此时可以打开代理工具的 TUN 模式来解决。

TUN 模式相当于给系统安装虚拟网卡,可以捕获所有类型的流量,即便代理只支持 TCP 或 UDP 的流量,如 ICMP 层的 PING。该模式是无感的,可以快速的接管不支持 系统代理 的应用

总结

如果你之前一直使用代理来连接 SSH,只是偶尔出现该情况,那建议更换代理服务,或暂时关闭代理直接连接。

链接

Using SSH over the HTTPS port