first commit
This commit is contained in:
159
SSH配置详细步骤.md
Normal file
159
SSH配置详细步骤.md
Normal file
@@ -0,0 +1,159 @@
|
||||
# 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
|
||||
# 使用 notepad(Windows)
|
||||
notepad ~/.ssh/config
|
||||
|
||||
# 或使用 nano(Git Bash)
|
||||
nano ~/.ssh/config
|
||||
|
||||
# 或使用 vim(Git 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user