spring 配置服务器 git ssh 未知主机 key

标签 spring ssh

我部署了 Spring 云配置服务器以通过 ssh 连接到 git 存储库。

spring:
  cloud:
    config:
      server:
        git:
          uri: ssh://git@stash.ops.domain.com:2022/ccare/cm-config-data.git
          searchPaths: [preferences, orders]

我已将 ssh key (id_rsa.pub)添加到 Git 存储中。 我还添加了/.ssh/config 文件,其中没有 StrictHostKeyChecking 选项。 但当我访问配置服务器时,我仍然不断收到此错误。

[nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: Cannot clone or checkout repository] with root cause

com.jcraft.jsch.JSchException:未知主机 key :stash.ops.domain.com。 RSA key 指纹为 39:89:4b:aa:79:fc:01:9f:46:48:5b:b9:6f:17:af:d5 在 com.jcraft.jsch.Session.checkHost(Session.java:786) 在 com.jcraft.jsch.Session.connect(Session.java:342) 在 org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116) 在 org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136) 在 org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection。(TransportGitSsh.java:262) 在 org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161) 在 org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:136) 在 org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122) 在 org.eclipse.jgit.transport.Transport.fetch(Transport.java:1115) 在 org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130) 在 org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:178) 在 org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:125) 在org.springframework.cloud.config.server.JGitEnvironmentRepository.cloneToBasedir(JGitEnvironmentRepository.java:265) 在 org.springframework.cloud.config.server.JGitEnvironmentRepository.copyRepository(JGitEnvironmentRepository.java:237)

最佳答案

我遇到了确切的问题。我提出的解决方案(我使用的)是一个 hack,但对我有用。只需 ssh 该服务器

ssh stash.ops.domain.com

您将收到以下提示:

The authenticity of host 'stash.ops.domain.com' can't be established.
RSA key fingerprint is <fingerprint>
Are you sure you want to continue connecting (yes/no)?

如果您选择,那么stash.ops.domain.com将被添加到known_hosts中。 添加后,您将不再收到该错误。

关于spring 配置服务器 git ssh 未知主机 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595707/

相关文章:

java - 使用 gmail smtp 主机发送电子邮件时连接被拒绝?

java - 使用 KafkaProperties 配置多个 kafka 主题名称的最佳方法是什么

asp.net - .NET SSH pbrun su

amazon-ec2 - 无法使用弹性 IP SSH 进入私有(private)子网

Bash while 循环在远程运行与本地运行时的行为不同

github - 如何在不出错的情况下执行这些命令? (git 子模块,cd,git 提交)

java - Spring Batch ItemReader使用PostgreSQL函数游标错误

java - 无法在本地 tomcat(spring boot 嵌入式)服务器上运行 Spring Boot 1.5.10.RELEASE

docker - 将我的 ssh key 从我的 Windows 10 转发到我的 docker 容器

spring - 如何在 Spring MongoDB 聚合上投影 DBRef?