SSH配置已修改,Git Clone仍使用22端口连接失败求助
为何Git Clone仍使用22端口(Windows环境)
可能的原因及对应解决办法
1. Git使用的SSH客户端未加载你的配置文件
Windows环境下,Git通常自带独立的OpenSSH客户端,它默认读取的配置文件路径为~/.ssh/config(即C:\Users\<你的用户名>\.ssh\config),若配置文件位置错误或Git未正确识别,配置就不会生效。
- 验证方式:执行
git config --get core.sshCommand,若输出为空或未指定正确的SSH路径,说明Git使用的是默认SSH客户端。 - 解决办法:
- 确保配置文件位于
C:\Users\<你的用户名>\.ssh\config,且文件名为config(无后缀)。 - 手动指定Git使用的SSH命令,执行:
替换命令中的路径为你实际的config文件路径。git config --global core.sshCommand "ssh -F C:\Users\<你的用户名>\.ssh\config"
- 确保配置文件位于
2. SSH配置文件权限不符合要求
Windows下SSH对配置文件(config及私钥文件)的权限要求严格,若其他用户拥有读写权限,SSH会直接忽略该配置文件。
- 解决办法:
右键config文件 → 属性 → 安全 → 高级 → 禁用继承 → 删除所有非当前用户的权限条目,仅保留当前用户的完全控制权限,最后应用设置。
3. SSH缓存了旧的连接记录
即便执行的是新的clone命令,若之前有github.com的连接记录被缓存,可能导致配置不生效。
- 解决办法:删除
C:\Users\<你的用户名>\.ssh\known_hosts文件,重新执行clone命令。
4. 检查SSH配置文件语法
确认配置文件格式正确:每个Host块的配置项需用空格缩进(避免用制表符),示例如下:
Host github.com Hostname ssh.github.com Port 443
同时可执行ssh -vT git@github.com查看详细连接日志,日志中会显示“Reading configuration data ...”的路径,以此确认配置文件是否被正确加载。
内容的提问来源于stack exchange,提问作者coding4fun
相关产品推荐
相关产品推荐

