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

3.2 KiB
Raw Permalink Blame History

SSH 配置详细步骤

问题

SSH 签名算法不匹配,需要启用兼容的算法。

解决方案:创建 SSH 配置文件

步骤 1检查配置文件是否存在

在 Git Bash 中执行:

# 检查配置文件是否存在
ls -la ~/.ssh/config

# 如果文件不存在,会显示 "No such file or directory"

步骤 2创建配置文件

# 创建配置文件
touch ~/.ssh/config

# 设置正确的权限(重要!)
chmod 600 ~/.ssh/config

步骤 3编辑配置文件

使用文本编辑器打开配置文件:

# 使用 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保存文件

  • 如果使用 notepadCtrl+S 保存,然后关闭
  • 如果使用 nanoCtrl+O 保存,Enter 确认,Ctrl+X 退出
  • 如果使用 vimi 进入插入模式,编辑后按 Esc,然后输入 :wq 保存退出

步骤 6验证配置

# 查看配置文件内容
cat ~/.ssh/config

应该显示:

Host 101.43.95.130
    Port 29418
    PubkeyAcceptedKeyTypes +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

步骤 7测试连接

# 测试 SSH 连接
ssh -p 29418 renjianbo@101.43.95.130 gerrit version

如果成功,会显示 Gerrit 版本信息,例如:

gerrit version 3.3.8

步骤 8推送代码

cd /d/ttt/test-project
git push origin HEAD:refs/for/master

如果还是不行

方法 A使用命令行参数临时

# 测试连接
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 密钥:

# 生成新的 ed25519 密钥
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519

# 查看新公钥
cat ~/.ssh/id_ed25519.pub

然后将新公钥添加到 Gerrit。

常见问题

Q: 配置文件权限错误

# 修复权限
chmod 600 ~/.ssh/config
chmod 700 ~/.ssh

Q: 配置文件格式错误

确保:

  • 每行前面有正确的缩进4 个空格或 1 个 Tab
  • 没有多余的空格或特殊字符
  • 文件使用 UTF-8 编码

Q: 配置不生效

# 清除 SSH 已知主机(如果需要)
ssh-keygen -R [101.43.95.130]:29418

# 重新测试
ssh -v -p 29418 renjianbo@101.43.95.130 gerrit version