Intellij Idea IntelliJ,无法在GitHub上共享项目(权限被拒绝)

kwvwclae  于 2022-12-11  发布在  Git
关注(0)|答案(8)|浏览(338)

我是Git和GitHub/GitLab的新手。我尝试将我的项目共享到GitHub,但它抛出了这个异常:

Can't finish GitHub sharing process
        Successfully created project 'LiveGame1' on GitHub, but initial push failed:
        git@github.com: Permission denied (publickey).
        Could not read from remote repository.
        Please make sure you have the correct access rights
        and the repository exists.

我也可以通过互联网链接克隆一个存储库,但不能通过“git@github.com:/username/repository_name“。
如何修复这个错误,我可以直接将我的项目分享到GitLab吗?

svgewumm

svgewumm1#

这篇文章帮助我在我的Windows 10机器上做好了准备:
https://richardballard.co.uk/ssh-keys-on-windows-10/

注意:本文的第一节标题应为“在Windows中启用SSH客户端”,并且应指启用SSH客户端,而不是服务器。

如果您可以让ssh -T git@github.com在不提示您输入密码的情况下工作(如上面的文章所述),那么您就可以很好地从IntelliJ推送。
关键在于:

  • 获取在Windows中运行的OpenSSH身份验证代理服务
  • 确保调用的ssh-addC:\Windows\System32\OpenSSH中提供的ssh-add
  • 确保git也被配置为使用Windows提供的ssh:

git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"
使用ssh-keygen生成密钥时,请考虑使用下面描述的ecdsa算法:https://www.ssh.com/ssh/keygen/
同样重要的是清理任何其他试图在Windows之外执行ssh的程序(比如Putty)。我在尝试运行ssh-add时一直面临的一个问题是“无效格式”,我认为这是由我正在使用的路径上的一个不同的ssh-add程序引起的,而不是Windows附带的OpenSSH程序。

0aydgbwb

0aydgbwb2#

根据操作系统的不同,这里有很多建议How to solve Permission denied (publickey) error when using Git?Git gives me a “Permission Denied” error when writing files that I am pulling
对于我在Windows上的IntelliJ的解决方案已经在这里提到:Can't access git using SSH keys中的一个。
我在git-Installation中编辑了ssh_config-File,IntelliJ在源代码的主机中使用了该文件,并且所有文件都工作正常。
文件,例如:
C:\程序文件\Git\etc\ssh\ssh配置文件
文件内的变更,例如:

Host bitbucket.org
    IdentityFile C:\Users\User\.ssh\id_ssh

编辑:正如在注解中提到的(对于Linux),在Windows上也可以在本地用户主目录中添加一个配置文件:C:\Users\<USER>\.ssh\config与上面提到的主机名匹配。如果您使用多个git安装或没有git安装的访问权限(由于缺少管理员权限),这可能是更好的解决方案。

cetgtptt

cetgtptt3#

我也遇到过同样的问题,我在github账户中为intelliJ生成了公钥。

设置-〉开发人员设置-〉个人访问令牌

然后通过提供必要的范围和描述为intelliJ生成新令牌,并复制令牌密钥
之后,在intelliJ中选择Login via token access。通过将密钥粘贴到显示的表单中进行登录。
谢谢你

ubof19bj

ubof19bj4#

我正在使用Windows 10PuTTY身份验证代理(带密码保护的SSH密钥),这对我很有效--适用于我上传SSH密钥的Bitbucket和Github帐户。

在Intellij中集成“SSH”密钥的步骤-

1.打开“PuTTYgen”应用程序。
1.点击“文件〉加载私钥”。
1.从目录中选择.ppk文件。
1.点击“转换〉导出OpenSSH密钥”。
1.使用“id_rsa”名称将文件保存在“C:\Users\(您的用户名).ssh”文件夹中。
1.开启Intellij。
1.点击“文件〉设置”。
1.展开“版本控制”。
1.展开“Subversion”。
1.点击“SSH”。
1.选择“私钥”单选按钮。
1.选择存储在“C:\Users\(您的用户名).ssh”文件夹中的生成文件。
1.点击“确定”按钮。
测试配置:单击“VCS〉Git〉Fetch”。如果显示“Fetch Successful”消息,则配置成功
来源:https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000011270-How-to-set-up-git-SSH-keys-?page=1#community_comment_360001445600

jpfvwuh4

jpfvwuh45#

这个问题太宽泛了。需要更多的细节来澄清。
运行git remote show -n origin(假设您在分支origin上。-n标志表示“不查询远程”,这可以减少Web请求的操作时间。),您可能会看到远程URL。
在许多常见的情况下,例如在GitHub上,Git URL使用HTTPS协议

https://github.com/<user>/<repo>.git

或SSH协议

git@github.com:<user>/<repo>.git

如果字段user不是您或您的组织之一,那么您似乎在尝试向某人的存储库投稿。请使用forkcreate a pull request来完成此操作。您可能需要使用命令更改本地存储库的远程url

git remote set-url <branch> <newurl>

如果user是您,则检查您是否正确输入了令牌。

  • 如果您使用HTTPS协议,请检查您输入的用户名和密码。您可能需要检查Git Credentials
  • 如果您使用SSH协议,请确保您的计算机具有与GitHub对应的SSH密钥。您可以使用命令ssh -T git@github.com测试连接。
    **更新1:**你的问题中似乎有一个错字,git@github.com:**/**username/repository_name。注意第一个斜杠。我不确定它是否有问题。
    更新2:检查您的Git凭据保存在IntelliJ IDEA中File -> Settings -> Version Control -> GitHub
    **更新3:**您也可以将其共享到GitLab,只需添加一个远程,例如运行命令git remote add gitlab <url>
dojqjjoe

dojqjjoe6#

我遇到过一个类似的问题,我无法用SSH git拉取更改,通过在Intellij中添加SSH配置解决了这个问题。
操作步骤:

  • 转到首选项
  • 工具Name
  • 选择“SSH配置”
  • 然后添加新配置,如下面的屏幕截图所示:

我希望这能帮助到一些人

nfg76nw0

nfg76nw07#

我可以分享关于WebStorm的类似情况和答案。
我以前存储了一个不同的SSH密钥的密码,我添加了一个新的密钥(如果在Mac上,不要忘记ssh-agent -s),但WebStorm没有发现它。
WebStorm中没有为即将出现的错误消息提供上下文,遗憾的是,它是git中的通用错误消息:

Push failed

<project>: git@<domain>: Permission denied (publickey).

Could not read from remote repository.
                    
Please make sure you have the correct access rights
and the repository exists.

正如JetBrains的IntelliJ跟踪器和/或论坛上的severalseveralissues中所提到和链接的(它们引导我来到这里),WebStorm(我认为IntelliJ也是如此)* 在幕后使用SSH配置点文件 *。这意味着使用本地ssh客户端(在以前的版本中,Settings » Version Control » git » SSH Executable to "native")或使用配置(Settings » Tools » SSH Configuration s)
因此,创建或编辑您的SSHconfig(例如Mac:~/.ssh/config)以包括例如

Host <domain>
    User git
    IdentityFile ~/.ssh/<your private SSH key file, usually `id_...`>

然后,将使WebStorm在gitremotedomain上拾取,并提示您输入已配置SSH密钥/SSH配置项的密码。
(请记住替换上面标有<placeholder>的占位符)。

jexiocij

jexiocij8#

我通过运行cat ~/.ssh/id_rsa.pub命令解决了这个问题,复制了结果,并在Github/settings/ssh和gpg keys中添加了“new ssh key”,并将结果粘贴到那里并保存然后再次运行“git push -u origin main”,它就成功了。

相关问题