Files
gerrit/SSH配置详细步骤.md
2025-12-22 17:12:39 +08:00

160 lines
3.2 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 签名算法不匹配,需要启用兼容的算法。
## 解决方案:创建 SSH 配置文件
### 步骤 1检查配置文件是否存在
在 Git Bash 中执行:
```bash
# 检查配置文件是否存在
ls -la ~/.ssh/config
# 如果文件不存在,会显示 "No such file or directory"
```
### 步骤 2创建配置文件
```bash
# 创建配置文件
touch ~/.ssh/config
# 设置正确的权限(重要!)
chmod 600 ~/.ssh/config
```
### 步骤 3编辑配置文件
使用文本编辑器打开配置文件:
```bash
# 使用 notepadWindows
notepad ~/.ssh/config
# 或使用 nanoGit Bash
nano ~/.ssh/config
# 或使用 vimGit Bash
vim ~/.ssh/config
```
### 步骤 4添加配置内容
在文件中添加以下内容(如果文件已有内容,追加到文件末尾):
```
Host 101.43.95.130
Port 29418
PubkeyAcceptedKeyTypes +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
```
**重要**
- `Host` 后面是服务器 IP 或域名
- `Port` 后面是 SSH 端口29418
- 每行前面有 4 个空格或 1 个 Tab保持缩进
### 步骤 5保存文件
- 如果使用 notepad`Ctrl+S` 保存,然后关闭
- 如果使用 nano`Ctrl+O` 保存,`Enter` 确认,`Ctrl+X` 退出
- 如果使用 vim`i` 进入插入模式,编辑后按 `Esc`,然后输入 `:wq` 保存退出
### 步骤 6验证配置
```bash
# 查看配置文件内容
cat ~/.ssh/config
```
应该显示:
```
Host 101.43.95.130
Port 29418
PubkeyAcceptedKeyTypes +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
```
### 步骤 7测试连接
```bash
# 测试 SSH 连接
ssh -p 29418 renjianbo@101.43.95.130 gerrit version
```
如果成功,会显示 Gerrit 版本信息,例如:
```
gerrit version 3.3.8
```
### 步骤 8推送代码
```bash
cd /d/ttt/test-project
git push origin HEAD:refs/for/master
```
## 如果还是不行
### 方法 A使用命令行参数临时
```bash
# 测试连接
ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa -p 29418 renjianbo@101.43.95.130 gerrit version
# 推送代码
GIT_SSH_COMMAND="ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa" git push origin HEAD:refs/for/master
```
### 方法 B检查公钥是否正确添加
1. 访问:`http://101.43.95.130:8080/#/settings/ssh-keys`
2. 确认您的公钥在列表中
3. 确认公钥状态为 "Valid"
### 方法 C重新生成 ed25519 密钥
如果 RSA 密钥一直有问题,可以生成 ed25519 密钥:
```bash
# 生成新的 ed25519 密钥
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519
# 查看新公钥
cat ~/.ssh/id_ed25519.pub
```
然后将新公钥添加到 Gerrit。
## 常见问题
### Q: 配置文件权限错误
```bash
# 修复权限
chmod 600 ~/.ssh/config
chmod 700 ~/.ssh
```
### Q: 配置文件格式错误
确保:
- 每行前面有正确的缩进4 个空格或 1 个 Tab
- 没有多余的空格或特殊字符
- 文件使用 UTF-8 编码
### Q: 配置不生效
```bash
# 清除 SSH 已知主机(如果需要)
ssh-keygen -R [101.43.95.130]:29418
# 重新测试
ssh -v -p 29418 renjianbo@101.43.95.130 gerrit version
```