簡體   English   中英

git@github.com:權限被拒絕(公鑰)

[英]git@github.com: Permission denied (publickey)

我創建了一個新的遠程存儲庫,並嘗試在addcommit后第一次使用git push -u origin master命令將我的本地文件推送到新存儲庫中。 但是,它彈出這個git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. . 我該如何解決這個致命錯誤?

我試過這個
使用 Git 時如何解決 Permission denied (publickey) 錯誤? 這個鏈接的問題好像是第一次使用git,我用了一段時間的git,還需要按照這個解決嗎? 誰能給我一個更具體的解決方案?

這是我得到的致命錯誤

C:\Users\ASUS\Desktop\React-Practice App\my-app>git status
On branch master
nothing to commit, working tree clean

C:\Users\ASUS\Desktop\React-Practice App\my-app>git push -u origin master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

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

您正在通過 SSH 訪問 GitHub。 首先生成一個SSH密鑰對; 然后將公鑰添加到 GitHub。

生成密鑰對:

ssh-keygen -t rsa -b 4096 -C “youremail@example.com”

https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agenthttps://help.github.com查看更多/en/articles/adding-a-new-ssh-key-to-your-github-account

即使在 github 上添加 ssh 密鑰后也有同樣的問題。

通過運行此命令修復它

ssh -vT git@github.com

當我遇到這個問題時,我最終在我的 git remote origin url 中有一個錯字。 也許您可以仔細檢查所有內容是否拼寫正確,而沒有任何額外的意外擊鍵?

在 Windows 上,有時會安裝多個版本的 SSH。
使用git時會產生沖突:
git@github.com:權限被拒絕(公鑰)
要解決它,只需在環境變量中指向正確的版本:

setx /m GIT_SSH C:\Windows\System32\OpenSSH\ssh.exe

我遇到了這個問題,因為我像@Mon 一樣為我的密鑰使用了一個非標准位置。 就我而言,我沒有使用默認文件名,因為我的系統上有多個鍵。 因此,不能簡單地通過移動或重命名來解決它。

解決方案是編輯或創建~/.ssh/config (用於config配置身份密鑰位置的OpenSSH 文檔)以包含以下內容:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github-key
  • 不要編輯行3,以反映自己的用戶名。 用戶名應該是git (參見github 文檔)。

  • 編輯第 4 行以反映密鑰的位置。

如果您已經有一個config文件,那么在四處走動之前看看那里有什么是值得的。 在編輯之前制作副本永遠不會有什么壞處。

上述假設您已經創建的關鍵,把它放在github上,你實際上確實有權限,其他一切都是理所應當的,但仍然遇到錯誤。

我在進行此設置時遇到了最糟糕的情況,並且彈出了相同的錯誤。

我如何解決我的問題是沒有.git文件夾作為 root 並使用另一個用戶使用sudo訪問它。 我將文件夾權限更改為用戶:

chown -R user:user .git/

對我來說,問題是我在一台新電腦上,試圖訪問與我的另一台電腦相同的帳戶。 創建一個新的 SSH 是不夠的,您還需要在您的 GitHub 配置文件中注冊它。 一旦我這樣做了,問題就自行解決了。

我相信從~./ssh文件夾復制公鑰內容的最佳方法是clip命令。 由於手動選擇然后復制可能會引入額外的空間等。

以下是我將遵循的步驟。

1- 檢查您是否已有密鑰對

ls -lah ~/.ssh

在 CMD 中: dir/W %USERPROFILE%\.ssh

2-如果你有密鑰對,將公鑰的內容復制到內存中

cat ~/.ssh/id_xxxxx.pub | clip

xxxxx 可以是ed25519rsa

在 CMD 中: type %USERPROFILE%\.ssh\id_rsa.pub | clip type %USERPROFILE%\.ssh\id_rsa.pub | clip

3- 如果您沒有密鑰對,只需使用以下任一命令生成:

(首選第一個)。

ssh-keygen -t ed25519 -C "your_email@example.com

要么

ssh-keygen -t rsa -b 4096 -C "your_email@example.com

然后執行第 2 步。

4-導航到github然后粘貼你用clip復制的內存內容

注意:相同的步驟適用於 BitBucket、GitLab 和 Azure 存儲庫。

在此處輸入圖像描述

即使在 github 上添加 ssh 密鑰后,我也遇到了同樣的問題。 以前我在 Windows 中使用“CMD”。 然后我改為“Git Bash”,我的問題就解決了。

暫無
暫無

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

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