簡體   English   中英

通過 HTTPS 從 Eclipse 推送到我的 GitHub 存儲庫停止工作:“git-receive-pack not allowed”錯誤

[英]Pushing from Eclipse to my GitHub repository via HTTPS stopped working: "git-receive-pack not permitted" error

幾周前,我最近推送了我的 GitHub 存儲庫。 我從 GitHub 那里得到了一條主線,說 GitHub 即將退出常規授權,並打算用另一種授權方法代替它。

所以今天我將一個新的更新推送到我的 GitHub 存儲庫並收到消息:

git-receive-pack not permitted

這就引出了兩個問題:

  1. EGit 現在停止工作了嗎?
  2. 我有 Eclipse 2021-03,我該如何解決這個問題,以便進行推送?

自2021年8月13日,GitHub上不支持通過HTTPS身份驗證出於安全考慮您的GitHub的帳戶密碼 相反,在 Eclipse 中,當推送到 GitHub 存儲庫或從私有存儲庫獲取時,您將收到一個git-upload-pack not permitted on 'https://github.com...'錯誤。

作為解決方案,請使用

  • GitHub 特定的個人訪問令牌作為密碼,而不是您以前使用的 GitHub 帳戶密碼或
  • 使用 SSH 密鑰進行SSH ,其中私鑰和公鑰在您的本地計算機上並在 Eclipse 中配置,而公鑰則上傳到您的 GitHub 帳戶。

個人訪問令牌(特定於 GitHub)

在此處輸入圖片說明

  1. 轉到您的GitHub 帳戶設置 > 開發人員設置 > 個人訪問令牌網站:
    1. 單擊右上角的生成新令牌按鈕
      • 輸入Note ,例如GitHub repo token
      • 選擇過期,例如沒有過期
      • 勾選復選框回購
    2. 單擊底部的生成令牌按鈕
    3. 生成的令牌復制到剪貼板
  2. 在 Eclipse 中,在Git 存儲庫視圖中:
    1. 右鍵單擊GitHubRemote s節點origin或您克隆存儲庫時選擇的名稱),然后選擇配置推送...
    2. 單擊更改...按鈕更改右上角的 URI
    3. 復制的生成的 GitHub令牌替換密碼
    4. 單擊完成保存以應用更改

SSH

  1. 創建一個 SSH 密鑰(如果你已經有了,請跳過這一步):
    1. 在 Eclipse 中,在首選項General > Network Connections > SSH2 tab Key Management點擊Generate RSA Key...按鈕
    2. 點擊Save Private Key...並選擇一個位置,最好是用戶主目錄的子文件夾.ssh
  2. 將公鑰上傳到您的 GitHub 帳戶:
    1. 對於新創建的密鑰,密鑰管理選項卡中顯示的字符串復制到剪貼板; 對於現有密鑰,將其添加到首選項General > Network Connections > SSH2選項卡General並復制公鑰文件<name>.pub
    2. 轉到您的GitHub 帳戶設置SSH 和 GPG 密鑰部分,然后點擊新建 SSH 密鑰按鈕
    3. 將復制的公鑰粘貼Key字段中
  3. 將 HTTPS 更改為已克隆存儲庫的SSH URL
    1. 在 Eclipse 中,在Git Repositories視圖中右鍵單擊存儲庫並選擇Properties並單擊Open按鈕
    2. config文件的文本編輯器中,按如下方式更改遠程 URL:

      HTTPS (舊;不再適用於推送):
       url = https :// github.com / <username>/<repo>.git

      SSH (新):
       url = git@ github.com : <username>/<repo>.git

也可以看看:

GitHub 已禁用 HTTPS 協議

肯定不是。

我使用 HTTPS 推送到 GitHub 沒有任何問題,但我現在必須使用PAT(個人訪問令牌)作為密碼,而不是 GitHub 用戶帳戶密碼。

確保創建一個新的令牌,它將遵循新的令牌格式(2021 年 3 月)

ghp_用於個人訪問令牌

我將 eclipse 和 git 與 ssh 一起使用,但使用錯誤的密鑰時遇到了問題。

When searching for the error: "Cannot log in at github.com:22" It sent me to this answer: Cannot log in GitHub into Eclipse which ended up leading me to this one.

對於其他偶然發現此問題的人,您需要導航到

Window -> Preferences 

然后從那里展開

General -> Network Connections -> SSH2

然后在右窗格中 select 的“常規”選項卡並單擊添加私鑰..按鈕和 select 用於 git 的私鑰。 如果您為密鑰使用了密碼(您應該這樣做),那么系統會提示您輸入密碼。

在此之后,我可以再次推動和拉動沒有問題。

在此處輸入圖像描述

您需要創建應用密碼或令牌才能從 git/bitbucket 導入項目。 您需要將此令牌用作密碼。

創建應用密碼

在這里通過根據您的要求提供必要的權限來創建令牌並創建它。

暫無
暫無

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

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