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

93 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 服务
在服务器上检查:
```bash
# 检查 Gerrit SSH 服务状态
cd /home/renjianbo/gerrit_install/review_site
bin/gerrit.sh status
# 检查端口是否监听
netstat -tlnp | grep 29418
# 或
ss -tlnp | grep 29418
```
### 步骤 3检查防火墙
如果是云服务器,需要确保防火墙开放了 29418 端口:
```bash
# CentOS 7
sudo firewall-cmd --permanent --add-port=29418/tcp
sudo firewall-cmd --reload
# 或者检查防火墙状态
sudo firewall-cmd --list-ports
```
### 步骤 4临时使用 HTTP 推送(如果 SSH 无法修复)
如果 SSH 连接问题暂时无法解决,可以继续使用 HTTP 方式:
```bash
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 方式推送代码
## 需要服务器端操作
如果您有服务器访问权限,请执行:
```bash
# 检查防火墙
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
```