java - 属性 'spring.cloud.config.server.git.privateKey' 不是有效的私钥

标签 java spring-boot intellij-idea bitbucket spring-cloud-config

有点卡在上面了。虽然我看到有关于同一主题的问题,并且已经尝试过但仍然没有办法。

stack im using -> mac(mojave), Intellij, jdk8, generated key using puttygen on mac itself and looks like this, 这仅适用于我的本地 springboot 配置服务器。

我试过两种方法: spring.cloud.config.server.git.private-key=-----开始RSA私钥-----\n MIIEowIBAAKCAQEAssBl7ZADFHBZrSnDPVhClH9HFzCaEPKEaO3MX7H5uBMTEL59\n CLRguWdCQJnvv2L6vSLyBb9ds05DHEzE2OqkU5VzYX4CCrU7t1ktZmy3cwyNc0g0\n ijJMInd47KG57Pi6nzpN/bVsLNiwRO3PZ7wUxgeQT6vh5euhBbTlvrFRbNMZm0Rf\n .... .. ,,, F5vNwcngKk/tFFwX2XooikGliOCxHU66/KockbNXqOaLBc+QlNsB\n -----结束 RSA 私钥-----

给出错误:


应用程序启动失败


描述:

绑定(bind)到目标 org.springframework.boot.context.properties.bind.BindException:无法将“spring.cloud.config.server.git”下的属性绑定(bind)到 org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentProperties失败:

Reason: Property 'spring.cloud.config.server.git.privateKey' is not a valid private key

2) spring.cloud.config.server.git.private-key=~/.ssh/temp/id_rsa spring.cloud.config.server.git.ignore-local-ssh-settings=true

仍然出现与我在上面分享的相同的错误。

3) 在讨论解决方案的地方有一个 SO 问题,可能无法正确创建 key 。 现在我在我的正常开发中使用了相同的 key 并且已经使用了一年并且将 pub 添加到我的 bitbucket repo 并且它工作正常。它是我们自己的 repo(不是 git hub)我通常可以很好地使用 ~/.ssh/id_rsa 中的 key 。因此,我将 ~/.ssh/id_rsa 文件中的 RSA 私钥创建到一个临时目录中,并将其用于配置服务器应用程序。

4) 在已知的主机文件中,大约有 7 个条目,其中 1 个是 bitbucket 服务器。及其 ssh-rsa。

想知道是否有分步指南或一些示例可以帮助我吗?

最佳答案

也许这会有所帮助,用户 'introtj' 在这里评论 https://github.com/spring-cloud/spring-cloud-config/issues/1392这对我有帮助。

JGit requires RSA keys in PEM format. Below is an example ssh-keygen (from openssh) command that will generate a key in the corect format:

ssh-keygen -m PEM -t rsa -b 4096

2021 年 4 月 22 日更新

所以今天我决定从yml切换到properties当然也出现了和上面一样的错误。我知道 key 很好,因为它在 YAML 格式下运行良好。经过 2 小时的反复试验,我设法让它工作:

spring.cloud.config.server.git.private-key= \
-----BEGIN RSA PRIVATE KEY-----\n\
your_key_here_your_key_here_you\n\
your_key_here_your_key_here_you\n\
your_key_here_your_key_here_you\n\
your_key_here_your_key_here_you\n\
your_key_here_your_key_here_you\n\
-----END RSA PRIVATE KEY-----\n

我正在使用 spring boot 2.4.5 和 spring cloud 2020.0.02

让我知道这个解决方案是否适合您。

关于java - 属性 'spring.cloud.config.server.git.privateKey' 不是有效的私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58826047/

相关文章:

java - Spring Security 中的哪个类/方法处理重定向到/oauth2/authorization/{registrationId}?需要覆盖容器

github - Intellij无法登录github

intellij-idea - IntelliJ IDEA CE for 和 FTC Robotics Simulator 中的导入问题

java - sql server查询从java运行缓慢

java - 困惑......关于 HelloAndroid 第一个应用程序

java - 如何在Sphinx4中评估样本

java - 将 Lombok 添加到 Intellij 中的 Gradle 项目

java - 如何使用java生成条形码

spring-boot - 为 Spring Boot 配置 h2

java - 尽管组件位于同一包和扫描组件中,但 Spring 未检测到该组件