Files
gerrit/SSH连接问题排查.md
2025-12-22 17:12:39 +08:00

2.7 KiB
Raw Blame History

SSH 连接问题排查

问题现象

ssh: connect to host 101.43.95.130 port 29418: Connection timed out

可能的原因

  1. 防火墙阻止了 29418 端口
  2. Gerrit SSH 服务未正常启动
  3. 网络路由问题

解决方案

步骤 1先添加 SSH 公钥到 Gerrit

即使 SSH 连接暂时有问题,也可以先添加公钥:

  1. 在浏览器中,访问:http://101.43.95.130:8080/#/settings/ssh-keys
  2. 在 "New SSH key" 输入框中,粘贴您的公钥:
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDfjHZN+QcoRiE6yzSTi15/6iwa7sHQ6D0hlnnGFmzBiEhix+oPhpLM18SM6qKiTSC3KEIsAtjRMndWFOO/PnSsDtLWnBDxg8HWn1YhjDCz5VaCmMEA/Com8FGQPtSliI+6F+v1OOeaviL7V0iJcvZVPuIUrruNTfsZWOHrFhBrEeNwtrxwXcB3N5Hzw1/2c3AZ//5vPUf63FU0GNnNO8K2dTIJqfe80kprJtWXHGaj2OsV1T065LL24GYe65Hfngo8jf9HL1O1+ZUfNWrgJXKnr6U4cPOwpmuxcVa85OlXpxYOxcXWU20fu/ZgxzcvFYnONfnj2pI10j5ix1M2Vf1Ken5GP0WEHJUYUQ4bILbf1jKZRWqLgh0/nyAPikpcaYboqy3R4ZZjl+dC1JCXCzkmT69AiPzrvBWjlz2ygUwr45xoq7YJqLLjtFYJXf2KTgWczpJyDtWb4gXPJV1GAgaSHOrsswa3vlIQT3aOr0hmK7rKNXEcoySm1QV4GHcalfAybKvz9O9eXWxOlAY1JSzLA6fy8ziB3n+8wyIe44Pomro79m5w4R+C0XbrJ4owEzfnAAe1AcaIgQ4ik78idug0ZFQZ4s1YNYS/oQfDS8ZP5TanAC611ouO3XG1SUn6SkkKzG8ThQDr+igXFnShUrgYXKjLxifAj4wfl/wmg2NhXQ== your_email@example.com
    
  3. 点击 "Add" 按钮保存

步骤 2检查服务器端 SSH 服务

在服务器上检查:

# 检查 Gerrit SSH 服务状态
cd /home/renjianbo/gerrit_install/review_site
bin/gerrit.sh status

# 检查端口是否监听
netstat -tlnp | grep 29418
# 或
ss -tlnp | grep 29418

步骤 3检查防火墙

如果是云服务器,需要确保防火墙开放了 29418 端口:

# CentOS 7
sudo firewall-cmd --permanent --add-port=29418/tcp
sudo firewall-cmd --reload

# 或者检查防火墙状态
sudo firewall-cmd --list-ports

步骤 4临时使用 HTTP 推送(如果 SSH 无法修复)

如果 SSH 连接问题暂时无法解决,可以继续使用 HTTP 方式:

cd /d/ttt/test-project

# 确保远程 URL 包含用户名
git remote set-url origin http://renjianbo@101.43.95.130:8080/test-project

# 推送代码
git push origin HEAD:refs/for/master

当前建议

  1. 先添加 SSH 公钥到 Gerrit即使连接有问题公钥可以先保存
  2. 检查服务器防火墙是否开放了 29418 端口
  3. 如果 SSH 暂时无法修复,继续使用 HTTP 方式推送代码

需要服务器端操作

如果您有服务器访问权限,请执行:

# 检查防火墙
sudo firewall-cmd --list-ports

# 如果 29418 不在列表中,添加它
sudo firewall-cmd --permanent --add-port=29418/tcp
sudo firewall-cmd --reload

# 检查 Gerrit SSH 服务
cd /home/renjianbo/gerrit_install/review_site
bin/gerrit.sh status