git@github.com:权限被拒绝(公钥)
git@github.com: Permission denied (publickey)
我创建了一个新的远程存储库,并在 add
和 commit
之后第一次尝试使用 git push -u origin master
命令将我的本地文件推送到新存储库。然而,它弹出这个git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.
。我该如何解决这个致命错误?
我试过了
How to solve Permission denied (publickey) error when using Git?
看来这个link中的问题是第一次使用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密钥对;然后将 public 键添加到 GitHub.
生成密钥对,github首选“Ed25519算法”
ssh-keygen -t ed25519 -C "your_email@example.com"
它仍然允许在不支持 Ed25519 的系统上使用 rsa
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-agent and https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account
查看更多
当我遇到这个问题时,我的 git 远程来源 url 出现了拼写错误。也许您可以仔细检查所有内容是否拼写正确,而无需任何额外的意外击键?
即使在 github 上添加 ssh 密钥后也有同样的问题。
通过运行这个命令修复了它
ssh -vT git@github.com
我遇到这个问题是因为我像@Mon 那样为我的密钥使用了非标准位置。就我而言,我没有使用默认文件名,因为我的系统上有多个密钥。所以单纯的移动或者重命名是无法解决的。
解决方案是编辑或创建 ~/.ssh/config
(config
and Configuring the Location of Identity Keys 的 OpenSSH 文档)以包含以下内容:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github-key
不要编辑第 3 行以反映您自己的用户名。用户名应为 git
(参见 github docs)。
编辑第 4 行以反映密钥的位置。
如果您已经有一个 config
文件,那么在四处走动之前先看看里面有什么是值得的。在编辑之前制作副本永远不会有坏处。
上面假设你已经创建了密钥,把它放在github上,你实际上做有权限,其他一切都是应该的,但仍然遇到错误。
我在进行此设置时遇到了最糟糕的情况,并且弹出了同样的错误。
我如何解决我的问题是没有将 .git
文件夹作为根文件夹并使用另一个用户通过 sudo
访问它。我将文件夹权限更改为用户:
chown -R user:user .git/
在 Windows 上有时会安装多个版本的 SSH。
使用 git:
时会导致冲突
git@github.com: 权限被拒绝(公钥).
要解决它,只需在环境变量中指向正确的版本:
setx /m GIT_SSH C:\Windows\System32\OpenSSH\ssh.exe
我创建了一个新的远程存储库,并在 add
和 commit
之后第一次尝试使用 git push -u origin master
命令将我的本地文件推送到新存储库。然而,它弹出这个git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.
。我该如何解决这个致命错误?
我试过了
How to solve Permission denied (publickey) error when using Git?
看来这个link中的问题是第一次使用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密钥对;然后将 public 键添加到 GitHub.
生成密钥对,github首选“Ed25519算法”
ssh-keygen -t ed25519 -C "your_email@example.com"
它仍然允许在不支持 Ed25519 的系统上使用 rsa
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-agent and https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account
查看更多当我遇到这个问题时,我的 git 远程来源 url 出现了拼写错误。也许您可以仔细检查所有内容是否拼写正确,而无需任何额外的意外击键?
即使在 github 上添加 ssh 密钥后也有同样的问题。
通过运行这个命令修复了它
ssh -vT git@github.com
我遇到这个问题是因为我像@Mon 那样为我的密钥使用了非标准位置。就我而言,我没有使用默认文件名,因为我的系统上有多个密钥。所以单纯的移动或者重命名是无法解决的。
解决方案是编辑或创建 ~/.ssh/config
(config
and Configuring the Location of Identity Keys 的 OpenSSH 文档)以包含以下内容:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github-key
不要编辑第 3 行以反映您自己的用户名。用户名应为
git
(参见 github docs)。编辑第 4 行以反映密钥的位置。
如果您已经有一个 config
文件,那么在四处走动之前先看看里面有什么是值得的。在编辑之前制作副本永远不会有坏处。
上面假设你已经创建了密钥,把它放在github上,你实际上做有权限,其他一切都是应该的,但仍然遇到错误。
我在进行此设置时遇到了最糟糕的情况,并且弹出了同样的错误。
我如何解决我的问题是没有将 .git
文件夹作为根文件夹并使用另一个用户通过 sudo
访问它。我将文件夹权限更改为用户:
chown -R user:user .git/
在 Windows 上有时会安装多个版本的 SSH。
使用 git:
时会导致冲突
git@github.com: 权限被拒绝(公钥).
要解决它,只需在环境变量中指向正确的版本:
setx /m GIT_SSH C:\Windows\System32\OpenSSH\ssh.exe