Ssh

gogs 和 Jenkins 之間的 SSH 錯誤

  • July 9, 2018

我正在嘗試在 Jenkins 和 Gogs 之間建立一個自動化管道,並且在將兩者連接在一起時遇到了一些問題。我覺得我已經正確地遵循了這個過程,但在它結束時仍然收到一個 401。

以下是我已採取的步驟:

1)登錄我的jenkins主伺服器並登錄jenkins使用者

  1. 生成密鑰對
ssh-keygen -t rsa -b 4096 -C "sysadmin@email.ca"
  1. 在全域憑證下為詹金斯添加私鑰

  2. 為 Gogs 添加公鑰

5)去創建一個新的管道,當我輸入儲存庫名稱時,我得到以下錯誤:

Help for feature: Repository URL
Failed to connect to repository : Command "git ls-remote -h https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399 HEAD" returned status code 128:
stdout: 
stderr: error: The requested URL returned error: 401 Unauthorized while accessing https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399/info/refs
fatal: HTTP request failed

更新:

所以我不確定這是否會成為一個問題,但我意識到我的 gogs 伺服器和 jenkins master 正在執行兩個不同版本的 git:

Gogs:git 版本 1.8.3.1 詹金斯:git 版本 1.7.1

這可能是我問題的根源嗎?

Jenkins 明白你想在 git 中使用 https 協議。也許你已經把www-git1.mmm.local/git-admin/SF-Firefly-RK3399它轉換成https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399

當您生成 ssh 密鑰時,最好將其明確設置ssh://username@www-git1.mmm.local/opt/local/absolute/path/to/repo為您的 git url。

引用自:https://serverfault.com/questions/920142