Files
gerrit/SSH连接问题排查.md

93 lines
2.7 KiB
Markdown
Raw Normal View History

2025-12-22 17:12:39 +08:00
# 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
```