You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下无法通过SSH密钥连接BitBucket求助

SSH连接BitBucket无限挂起的排查与解决思路

1. 网络连通性排查

  • 先确认BitBucket的22端口是否可访问:
    telnet bitbucket.org 22
    
    若连接超时或被拒绝,大概率是网络限制(公司防火墙、ISP封锁),可改用BitBucket支持的443端口尝试。
  • 测试443端口连通性:
    telnet altssh.bitbucket.org 443
    

2. 配置SSH强制使用443端口

编辑~/.ssh/config文件(无则新建),添加以下配置:

Host bitbucket.org
  Hostname altssh.bitbucket.org
  Port 443
  User git
  IdentityFile ~/.ssh/id_rsa

保存后重新测试连接:

ssh -T git@bitbucket.org

3. 开启SSH调试模式定位问题

通过 verbose 输出查看连接全流程,定位卡住的具体环节:

ssh -vvvT git@bitbucket.org

重点关注输出中的关键提示:

  • connect to host ... port ...: Connection timed out:网络层面阻塞
  • Offering public key: ...后无响应:密钥验证或服务器端处理异常
  • Server refused our key:密钥未正确添加至BitBucket账号

4. 检查密钥与权限

  • 修正SSH密钥及目录权限(权限过宽会被SSH服务拒绝):
    chmod 700 ~/.ssh && chmod 600 ~/.ssh/id_rsa && chmod 644 ~/.ssh/id_rsa.pub
    
  • 验证密钥已加入SSH代理:
    ssh-add -l
    
    若未找到对应密钥指纹,重启代理并重新添加:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    

5. 排查本地防火墙与代理

  • 检查本地防火墙是否阻止SSH出站:
    sudo ufw status
    
    若防火墙启用,允许443端口出站:
    sudo ufw allow out 443/tcp
    
  • 测试绕过全局代理连接(避免代理干扰):
    ssh -o "ProxyCommand none" -T git@bitbucket.org
    

6. DNS解析检查

确认BitBucket的DNS解析正常:

nslookup bitbucket.org

若解析结果异常,临时切换至公共DNS(如8.8.8.8)后重试。

内容的提问来源于stack exchange,提问作者daydr3am3r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:13:26