簡體   English   中英

Windows 上的 Git [權限被拒絕(公鑰)] 的 Jenkins 問題

[英]Jenkins issue with Git [Permission denied (publickey).] on Windows

我知道數以千計的主題會觸及我的問題,但我在幾天內一直在與這個問題作斗爭,進展幾乎為零;(。

我在 Windows 機器上安裝了 Jenkins。
然后獲得了 Git 插件和 Git 本身。
一切都是我寫作當天的最新版本。
我很高興開始與 Jenkins 一起玩,但我未能配置我的 Bitbucket 存儲庫以供 Job 使用。

我設置了 git.exe 的確切路徑(因為它似乎是初始問題的原因)[C:\\Program Files\\Git\\cmd\\git.exe]。

然后我嘗試使用帳戶憑據通過 HTTPS 訪問存儲庫,這里有很多奇怪的錯誤,所以我想讓我們嘗試使用 SSH。

我已經生成了 rsa 密鑰,在 Bitbucket 存儲庫中設置了公鑰。 然后我在 Jenkins 中創建了憑證配置以使用密碼進行 SSH 身份驗證。
我在這里有很多問題,因此為了臨時解決方法,我明確設置了私鑰的值。
最后我到達了我現在所在的地方:

+refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

當我嘗試手動復制存儲庫時,它禮貌地詢問我密碼短語並完成復制。 當詹金斯的工作做到這一點時,就會發生上述情況。 在作業腳本中的 %USERNAME% 和 %USERDOMAIN% 的幫助下,我獲得了與手動執行時相同的值。

很多小時后,我可以說我不能在 Jenkins 中使用 Git ;(

更新

我不相信事情會這么簡單。 正如大型機提到的,我將整個 SSH 身份驗證的密碼留空,它確實有效(即使 Jenkins 在作業的配置頁面中仍然顯示相同的錯誤,存儲庫也被克隆)。 我只是想知道這種設置的任何后果,但現在工作對我來說更有價值。

您的意思是在生成密鑰時留下空密碼,然后在 Jenkins ssh 憑證中也沒有密碼配置?

是的,因為 Jenkins 無法將密碼提供給 ssh 會話。

但請確保 Jenkins slave 服務使用您的帳戶(而不是系統帳戶)運行。 它需要您的帳戶才能在%USERPROFILE%\\.ssh\\id_rsa(.pub)找到 ssh 密鑰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM