配置Bitbucket SSH密钥遇域名解析错误求助
解决Bitbucket SSH无法解析主机名的问题
先明确核心问题
你遇到的ssh: Could not resolve hostname bitbucket.org: No such host is known.是DNS解析失败,和known_hosts文件无关——这个文件只有当你成功连接到主机后才会自动生成,现在连主机地址都找不到,根本轮不到它发挥作用。
分步解决
1. 先排查基础网络连通性
执行以下命令测试能不能解析Bitbucket的地址:
ping bitbucket.org
如果ping返回“找不到主机”,直接确认是DNS解析的问题,往下看解决方法。
2. 处理VPN导致的解析异常
- 换VPN节点:很多VPN节点的DNS配置有bug,换个不同地区的节点试试(比如从美国节点切换到欧洲或新加坡节点)。
- 手动指定公共DNS:放弃VPN自动分配的DNS,改成公共DNS服务器:
- Windows:打开网络设置,找到当前连接的网络,手动设置DNS为
8.8.8.8或1.1.1.1 - Mac/Linux:Linux修改
/etc/resolv.conf添加nameserver 8.8.8.8;Mac在网络偏好设置里手动配置DNS
- Windows:打开网络设置,找到当前连接的网络,手动设置DNS为
- 临时关闭VPN测试:关掉VPN再跑
ssh -T git@bitbucket.org,如果能正常连接,就坐实是VPN的DNS问题,之后再调整VPN的DNS设置即可。
3. 手动映射hosts文件(应急方案)
如果上面的方法都没用,直接把Bitbucket的IP硬写到本地hosts文件:
- 用Bitbucket公开的IP段选一个可用IP,比如
18.205.93.1 - 修改hosts文件:
- Windows:找到
C:\Windows\System32\drivers\etc\hosts,用管理员权限打开,添加一行:18.205.93.1 bitbucket.org - Mac/Linux:执行
sudo nano /etc/hosts,添加同样的内容后保存
- Windows:找到
- 再次执行
ssh -T git@bitbucket.org,正常连接后known_hosts会自动生成。
4. 顺便确认SSH密钥配置
虽然当前是解析问题,但可以顺带检查密钥是否配置正确:
- 确认
~/.ssh/id_ed25519.pub文件存在,且内容已经添加到Bitbucket账户的SSH密钥列表中 - 执行
ssh-add ~/.ssh/id_ed25519确保密钥被ssh-agent加载
内容的提问来源于stack exchange,提问作者Vulsan Bianca
相关产品推荐
相关产品推荐

