Ubuntu环境下无法通过SSH密钥连接BitBucket求助
SSH连接BitBucket无限挂起的排查与解决思路
1. 网络连通性排查
- 先确认BitBucket的22端口是否可访问:
若连接超时或被拒绝,大概率是网络限制(公司防火墙、ISP封锁),可改用BitBucket支持的443端口尝试。telnet bitbucket.org 22 - 测试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 -leval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
5. 排查本地防火墙与代理
- 检查本地防火墙是否阻止SSH出站:
若防火墙启用,允许443端口出站:sudo ufw statussudo 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
相关产品推荐
相关产品推荐

