Hil*_*kus 5 github intellij-idea
我正在尝试使用Intellij 2017.1中的`` 设置存储库''功能,但我想使用ssh url作为存储库而不是https。我不喜欢处理那些首次创建后无法复制的个人访问令牌。所以我试图使用ssh,但是当我单击“覆盖本地”时,出现以下错误
设置上游存储库失败:只读文件系统
我是否被迫使用https或是否可以将其配置为与ssh一起使用?我的ssh密钥在终端中可以正常运行,并且在正常位置~/.ssh
mix*_*xel 15
此答案可能无法解决您的问题,但我仍会添加它,因为此页面是 Google 通过“intellij 设置存储库身份验证失败”请求的第一个结果。
添加设置存储库时,我遇到了“身份验证失败”错误的问题。升级到 macOS Mojave 10.14.1 后,我遇到了它,它提供了新版本的 ssh-keygen 二进制文件。
原因是我用ssh-keygen -t rsa -C "Michael Ledin" -b 4096命令生成了一个新的 ssh 密钥。
检查您的私人 SSH 密钥(通常为~/.ssh/id_rsa)。如果它以
-----BEGIN OPENSSH PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
然后它具有新的 RFC4716 密钥格式,目前基于 IntelliJ 的 IDE 使用的 JGit 不支持该格式。
要解决此问题,您可以:
要么以旧的“PEM”格式生成新密钥,添加-m "PEM"选项:
ssh-keygen -t rsa -C "Michael Ledin" -b 4096 -m "PEM"
Run Code Online (Sandbox Code Playgroud)
或者,如果您已经将您的公钥添加到 ssh 远程和存储库,并且很难在任何地方用新密钥替换它,那么您有两个选项可以将其转换为旧的 PEM 格式:
a) with ssh-keygen(它会要求输入一个新密码——使用旧密码或将其留空):
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
b) 与 putty
首先安装putty并将私钥转换为 SSH2 格式(我假设您当前的密钥存储在~/.ssh/id_rsa):
brew install putty
mv ~/.ssh/id_rsa ~/.ssh/id_openssh
puttygen ~/.ssh/id_openssh -O private-sshcom -o ~/.ssh/id_ssh2
Run Code Online (Sandbox Code Playgroud)
接下来将 SSH2 密钥转换为 PEM:
ssh-keygen -i -f ~/.ssh/id_ssh2 > ~/.ssh/id_rsa
rm ~/.ssh/id_ssh2
Run Code Online (Sandbox Code Playgroud)
现在您拥有~/.ssh/id_rsa旧 PEM 格式的私钥,可以由基于 IntelliJ 的 IDE 使用;原始密钥存储在~/.ssh/id_openssh文件中,可以删除:
rm ~/.ssh/id_openssh
Run Code Online (Sandbox Code Playgroud)
用于创建此答案的链接:
ssh的“设置存储库”支持仅限于Java jgit实现。尽管您可以配置新项目和现有项目以使用OS本机ssh,但是“设置存储库”功能会忽略此首选项。
因此,任何阻止它与SSH设置一起使用的jgit限制都将阻止“设置存储库”功能无法解决。
设置存储库是基于JGit的单独功能,它与Version控件-Git不相关,这就是为什么在那里更改设置无效的原因。
设置存储库没有本机SSH模式,也无法从ssh-agent中受益。
Dmitriy Smirnov(JetBrains)— 设置存储库功能始终要求输入SSH密钥密码,即使该密钥已在我的SSH代理中
当我尝试覆盖设置存储库中的本地设置时遇到问题时,我下载并正在新计算机上设置IntelliJ。设置存储库内部如何使用Git似乎是一个问题。以下是尝试将设置存储库功能以及克隆存储库与内置 SSH 和本机 SSH 结合使用的示例。我不确定现在如何使其正常工作。
Vladimir Krivosheev- 设置存储库-添加本机SSH模式(IDEA-173223)
| 归档时间: |
|
| 查看次数: |
2083 次 |
| 最近记录: |