当前位置: 首页 > news >正文

gogs私服对应SSH 协议配置

一、使用非特权端口(推荐)

1. 修改 Gogs 配置文件
sudo nano /home/git/gogs/custom/conf/app.ini

找到 [server] 部分,修改为:

[server]
START_SSH_SERVER = true
SSH_PORT         = 2222  # 改为1024以上的端口
2. 重启 Gogs
sudo systemctl restart gogs
二、清除 SSH 缓存

如果之前尝试过连接,清除缓存:

ssh-keygen -R 192.168.28.130:2222

、检查并生成 SSH 密钥(如果没有密钥)

  1. 检查是否存在 SSH 密钥

    ls ~/.ssh/id_*
    • 如果没有任何 id_rsa  文件,需要生成新密钥:

      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • 检查密钥权限,确保私钥权限正确(仅当前用户可读):

      chmod 600 /c/Users/51675/AppData/Roaming/SPB_Data/.ssh/id_rsa
      chmod 644 /c/Users/51675/AppData/Roaming/SPB_Data/.ssh/id_rsa.pub

、 将公钥添加到 Git 服务器

     复制公钥 

cat ~/.ssh/id_rsa.pub

      登录 Git 服务器(如 Gogs),在 SSH Keys 设置中添加该公钥 。

、修改客户端的 SSH 配置(永久生效)

编辑 ~/.ssh/config

nano /c/Users/51675/AppData/Roaming/SPB_Data/.ssh/config

添加以下内容:

Host 192.168.28.130
    HostName 192.168.28.130
    Port 2222
    User git
    IdentityFile /c/Users/51675/AppData/Roaming/SPB_Data/.ssh/id_rsa
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

逐行解析

1. Host 192.168.28.130
  • 作用:定义配置块的开始,指定该配置仅对 192.168.28.130 生效。

  • 注意Host 后的名称可自定义(如 mygit),实际连接时会根据 HostName 解析。

2. HostName 192.168.28.130
  • 作用:指定服务器的真实 IP 地址或域名。

  • 为什么需要:当 Host 使用别名时,此处需填写实际地址。

3. Port 2222
  • 作用:指定 SSH 连接端口为 2222(默认是 22)。

  • 适用场景:Git 服务器(如 Gogs)常使用非标准端口。

4. User git
  • 作用:以 git 用户身份登录服务器。

  • 为什么是 git:Git 服务通常创建专用系统用户 git 管理仓库。

5. IdentityFile /c/Users/51675/AppData/Roaming/SPB_Data/.ssh/id_rsa
  • 作用:指定用于认证的私钥文件路径。

  • 关键点

    • 路径需为绝对路径(Windows 下使用 /c/ 替代 C:\)。

    • 确保私钥权限为 600(命令:chmod 600 /path/to/id_rsa)。

6. HostKeyAlgorithms +ssh-rsa
  • 作用:允许客户端接受服务器的 ssh-rsa 类型主机密钥。

  • 背景

    • OpenSSH 8.8+ 默认禁用 ssh-rsa(认为不够安全)。

    • 旧版 Git 服务器可能仅支持 ssh-rsa,需手动启用。

7. PubkeyAcceptedAlgorithms +ssh-rsa
  • 作用:允许客户端使用 ssh-rsa 类型的公钥进行认证。

  • 与 HostKeyAlgorithms 的区别

    • HostKeyAlgorithms:控制客户端如何验证服务器身份。

    • PubkeyAcceptedAlgorithms:控制客户端如何向服务器证明自己。

六、使用SSH clone

保存后,后续可直接使用:

git clone git@192.168.28.130:root/project2.git
七、辅助说明
文件/命令作用
~/.ssh/known_hosts存储已验证过的主机密钥
~/.ssh/id_rsa默认私钥文件
~/.ssh/configSSH 客户端配置

相关文章:

  • 基于 OpenHarmony 5.0 的星闪轻量型设备应用开发——Ch3 设备驱动开发
  • python基础:位置互换
  • 【前端】【React】useCallback的作用与使用场景总结
  • 银行业务知识序言
  • 基于labview的多功能数据采集系统
  • 已经安装了pip,出现pip command not found【解决方法】
  • 如何用VBA编辑器合并Word文档:详细教程
  • spark-rdd
  • 【补题】P9423 [蓝桥杯 2023 国 B] 数三角
  • 《软件工程类标准规范》写作方法和技巧
  • 【Python】什么是列表推导式?
  • 第七章 指针
  • qiankun微前端vue3+ts+vite(配置示例)
  • 【图书管理系统】深入解析基于 MyBatis 数据持久化操作:全栈开发图书管理系统:查询图书属性接口(注解实现)、修改图书属性接口(XML 实现)
  • 【安全】加密算法原理与实战
  • 人工智能第一章 探索人工智能基石:从智能定义到模式识别的全面解析
  • MySQL--基础知识点--81.3--TRIGGER
  • 2025.4.10总结
  • 1200 模拟量输入输出功能
  • 图像生成模型的不可检测水印——Undetectable Watermark for Generative Image Models