1、Gitea启用内置SSH

1.1、更改配置文件

  • 配置文件位置装载路径:/data/gitea/conf/app.ini(按照自己映射路径寻找/gitea/conf/app.ini),下载此文件到本地;

  • 找到[server]配置节点,修改以下信息项;

  • 修改配置节:SSH_DOMAN = 与http访问的域名配置一样即可,只需写域名,无需http以及端口号等

  • 修改配置节:DISABLE_SSH = false

  • 修改配置节:SSH_PORT = 预期的端口此端口需要在路由器做转发,即外网连接SSH时的端口;

  • 修改配置节:SSH_LISTEN_PORT = 22必须是22,不可修改,配置文件修改此端口无效不清楚是否为gitea的bug,所以不建议修改;

1.2、重新编辑容器,增加SSH的端口映射

  • 容器端口22本地端口SSH_PORT使用的端口。

2.SSH密钥

2.1、SSH密钥生成

要使用 SSH 拉取 Gitea 仓库,您需要先生成 SSH 密钥对,并将公钥添加到 Gitea 的账户设置中。

以下是一些步骤来帮助您使用 SSH 拉取 Gitea 仓库:

  1. 生成 SSH 密钥对:

    • 打开终端或命令提示符窗口。

    • 运行以下命令来生成 SSH 密钥对,注意修改邮箱

      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      
    • 按照提示输入文件名(可选),可输入全路径:C:\Users\{电脑用户名}\.ssh\{文件名,修改的部分}

    • 按照提示输入密码(可选),设置可更安全。

  2. 添加公钥到 Gitea:

    • 登录到 Gitea 的网站。

    • 点击右上角的用户头像,选择 "Settings"。

    • 在左侧导航栏中选择 "SSH / GPG Keys"。

    • 点击 "New SSH Key"。

    • 在 "Title" 字段中输入一个描述性的名称。

    • 打开终端或命令提示符窗口,运行以下命令来获取公钥内容,若修改了文件名则id_rsa.pub需要修改为对应文件名.pub

      cat ~/.ssh/id_rsa.pub
      
    • 将输出的公钥内容复制到 "Key" 字段中。

    • 点击 "Add Key"。

  3. 拉取 Gitea 仓库:

    • 打开终端或命令提示符窗口。

    • 进入您想要存储仓库的目录。

    • 运行以下命令来克隆仓库:

      git clone git@gitea.example.com:username/repository.git
      
    • 将 "gitea.example.com" 替换为您的 Gitea 服务器地址,"username" 替换为您的用户名,"repository.git" 替换为您要克隆的仓库名称。

现在您应该可以使用 SSH 拉取 Gitea 仓库了。记得在拉取之前,确保您已经具有访问权限。

2.2、git工具包

3、常见问题

3.1、 TortoiseGit 客户端将远程代码 Pull 到本地的时候,出现异常

在使用 TortoiseGit 客户端将远程代码 Pull 到本地的时候,出现异常,Pull 失败,并提示错误信息 “ Disconnected: No supported authentication methods available(server sent: publickey) ” 。

  • 必须先安装GIT套件,建议安装最新版本

  • 打开桌面版本git的设置页面,找到网络 - SSH

  • 浏览查找Git桌面命令行工具(Git-2.41.0.3-64-bit.exe)安装目录下的\usr\bin\ssh.exe工具,保存即可;

  • 关闭已打开的git窗口,重新拉取即可。

3.2、多台电脑共用SSH Public/Private Key

  • 将已有公钥和私钥电脑C:\Users\{电脑用户名}\.ssh文件夹下全部文件复制到新电脑的C:\Users\{电脑用户名}\.ssh文件夹下,新电脑若没有.ssh目录时,需要新建目录;

  • 此时新电脑可以使用公钥拉取代码。