Spring Cloud Config - 无法克隆或签出存储库:ssh://git@github.com/ <user> /repo.git

时间:2018-04-30 23:51:58

标签: spring-cloud-config

当我尝试使用https的网址时,它有效,但我不想拥有用户名和密码。我可以用上面的url和它的工作来执行一个git clone。但是当我在代码中尝试并点击localhost:8888 / default endpoint时,我收到错误:

{
"error": "Not Found",
"message": "Cannot clone or checkout repository: ssh://git@github.com/<user>/config-repo.git",
"path": "/licensingservice/default",
"status": 404,
"timestamp": "2018-04-30T23:32:54.726+0000"
}

这是我的application.yml条目

server:
  port: 8888
spring:
  cloud:
    config:
      server:
        git:
          uri: ssh://git@github.com/<user>/config-repo.git
          searchPaths: licensingservice

我正在使用spring cloud配置 - Finchley.Not。不确定我错过了什么。请建议。

4 个答案:

答案 0 :(得分:1)

要检查的事情很少:

  1. 你在known_hosts中有github吗?如果没有,那么即使您有可能导致错误的密钥对,它也会提示您输入密码。
  2. 您是否在/home/{you}/.ssh/文件夹下有SSH密钥?
  3. 生成密钥时,您是否使用密码?如果是这样,您需要在YAML文件中包含passphrase密钥。
  4. 如果以上都可以。然后下载spring-cloud-config-server,调试org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.class

    祝你好运。

答案 1 :(得分:0)

Spring Cloud配置服务器也遇到了类似的问题。您需要在application.properties文件中添加其他属性spring.cloud.config.server.git.skip-ssl-validation=true

答案 2 :(得分:0)

我在Spring Cloud版本Finchley.RELEASE中遇到了这个问题:

org.springframework.cloud.config.server.environment.NoSuchRepositoryException:
Cannot clone or checkout repository: [[Git repo]] 

问题在更新后消失了:

spring-cloud-dependencies 对Finchley.SR2

spring-boot-starter-parent 至2.0.6.RELEASE

答案 3 :(得分:0)

您必须将计算机的ssh密钥添加到存储库中。

Ssh密钥应使用以下命令生成: ssh-keygen -m PEM -t rsa -b 4096 -C“ your_email@example.com”

有关更多信息,您可以检查此链接

https://skryvets.com/blog/2019/05/27/solved-issue-spring-cloud-config-server-private-ssh-key/