Describe the bug SpringBoot version 3.0.0 SpringCloud version 2022.0.0

According to docs https://docs.spring.io/spring-cloud-config/docs/current/reference/html/#_authentication I generated keypair adding keyphrase. Then I specified this passphrase into application properties on branch spring.cloud.config.server.git.passphrase. And this phrase was ignored during connection establishment to git server located at url like template ssh://git@server:port/path/to/repo

Sample 1. generate keypair with passphrase not empty using ssh-keygen -m PEM -t rsa -b 4096 -f ~/config_server_deploy_key.rsa 2. add to ~/.ssh/config these lines

Host gitea.my.server
    HostName gitea.my.server
    IdentityFile ~/.ssh/config_server_deploy_key.rsa
    Port 2221
  1. create initial config-server application with such properties
spring:
  cloud:
    config:
      server:
        git:
          uri: ssh://git@gitea.my.server:2221/path/to/repo.git
          clone-on-start: true
          ignore-local-ssh-settings: false
  1. try to run simple test
@SpringBootTest
class ConfigServerApplicationTests {

    @Test
    void contextLoads() {
    }

}
  1. these steps leads to login exception

My investigation of this issue.

Exception is thrown from PassphraseCredentialsProvider.java:

  @Override
  public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
    for (final CredentialItem item : items) {
      if (item instanceof CredentialItem.StringType && item.getPromptText().startsWith(PROMPT)) {
        ((CredentialItem.StringType) item).setValue(this.passphrase);
        continue;
      }
      throw new UnsupportedCredentialItem(uri, item.getClass().getName() + ":" + item.getPromptText()); // HERE
    }
    return true;
  }

params in my case are: 1. constant PROMPT = Passphrase for 2. phrase from ssh: Key '/home/bvn13/.ssh/config_server_deploy_key.rsa' is encrypted. Enter the passphrase to decrypt it. 3. item instanceof CredentialItem.StringType is FALSE 4. item.getPromptText().startsWith(PROMPT) is FALSE

It leads me to idea that there is no CredentialProvider applicable to this kind of authorization (key + phrase).

So my questions are: 1. is this a bug? 2. what is spring.cloud.config.server.git.passphrase intended for? 3. how to apply custom CredentialProvider for such cases?

UPDATE: Connection is established OK after I regenerate keypair lefting passphrase empty and refresh my key into Gitea server.

Comment From: ryanjbaxter

So its working now?

Comment From: bvn13

No, the issue is: Config Server is unable to connect if private key is generated with keyphease.

Comment From: ryanjbaxter

UPDATE: Connection is established OK after I regenerate keypair lefting passphrase empty and refresh my key into Gitea server.

Does this mean if your key doesn't have a passphrase it works?

This is not valid

spring:
  cloud:
    config:
      server:
        git:
          uri: ssh://git@gitea.my.server:2221/path/to/repo.git

It should be

spring:
  cloud:
    config:
      server:
        git:
          uri: git@gitea.my.server:2221/path/to/repo.git

Comment From: bvn13

UPDATE: Connection is established OK after I regenerate keypair lefting passphrase empty and refresh my key into Gitea server.

Does this mean if your key doesn't have a passphrase it works?

Correct

This is not valid spring.cloud.config.server.git.uri: ssh://git@gitea.my.server:2221/path/to/repo.git It should be spring.cloud.config.server.git.uri: git@gitea.my.server:2221/path/to/repo.git

I have no such setting neither in my own Gitea server Spring Cloud Config Passphrase is not used during ssh connection establishment nor in my Bitbucket server at work.

When I tried to change URI from ssh:// to git:// I faced another error (don't remember description).

Comment From: ryanjbaxter

Can you please provide the stacktrace for the exception you are seeing?

Comment From: spring-cloud-issues

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Comment From: ignat-sachivko

Faced the same issue with the key generated with a passphrase, the same steps performed as the issue starter. Though, no-passphrase generated key works fine as well. The stacktrace is below:

2023-01-16 14:12:47,207 WARN  [,] [sshd-JGitSshClient[4070ace9]-nio2-thread-5] o.e.j.i.t.s.CachingKeyPairProvider: Given passphrase cannot decrypt identity /Users/ignatsachivko/.ssh/id_rsa
java.security.InvalidKeyException: Given passphrase cannot decrypt identity /Users/ignatsachivko/.ssh/id_rsa
        at org.eclipse.jgit.transport.sshd.IdentityPasswordProvider.keyLoaded(IdentityPasswordProvider.java:258)
        at org.eclipse.jgit.transport.sshd.IdentityPasswordProvider.keyLoaded(IdentityPasswordProvider.java:280)
        at org.eclipse.jgit.internal.transport.sshd.PasswordProviderWrapper.handleDecodeAttemptResult(PasswordProviderWrapper.java:102)
        at org.apache.sshd.common.config.keys.loader.pem.AbstractPEMResourceKeyPairParser.extractKeyPairs(AbstractPEMResourceKeyPairParser.java:180)
        at org.apache.sshd.common.config.keys.loader.AbstractKeyPairResourceParser.loadKeyPairs(AbstractKeyPairResourceParser.java:117)
        at org.apache.sshd.common.config.keys.loader.KeyPairResourceParser$2.loadKeyPairs(KeyPairResourceParser.java:166)
        at org.apache.sshd.common.config.keys.loader.pem.PEMResourceParserUtils$1.loadKeyPairs(PEMResourceParserUtils.java:53)
        at org.apache.sshd.common.config.keys.loader.KeyPairResourceParser$2.loadKeyPairs(KeyPairResourceParser.java:166)
        at org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:157)
        at org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:148)
        at org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:139)
        at org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:130)
        at org.apache.sshd.common.util.security.SecurityUtils.loadKeyPairIdentities(SecurityUtils.java:522)
        at org.eclipse.jgit.internal.transport.sshd.CachingKeyPairProvider.loadKey(CachingKeyPairProvider.java:156)
        at org.eclipse.jgit.internal.transport.sshd.CachingKeyPairProvider.loadKey(CachingKeyPairProvider.java:131)
        at org.eclipse.jgit.internal.transport.sshd.CachingKeyPairProvider$CancellingKeyPairIterator.hasNext(CachingKeyPairProvider.java:221)
        at org.eclipse.jgit.internal.transport.sshd.JGitSshClient$CombinedKeyIdentityProvider$1.hasNext(JGitSshClient.java:447)
        at org.apache.sshd.common.keyprovider.MultiKeyIdentityIterator.hasNext(MultiKeyIdentityIterator.java:85)
        at org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyIterator$1$1.hasNext(UserAuthPublicKeyIterator.java:118)
        at org.apache.sshd.common.util.helper.LazyIterablesConcatenator$1.hasNext(LazyIterablesConcatenator.java:68)
        at org.apache.sshd.common.util.GenericUtils.selectNextMatchingValue(GenericUtils.java:849)
        at org.apache.sshd.common.util.helper.LazyMatchingTypeIterator.hasNext(LazyMatchingTypeIterator.java:62)
        at org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyIterator.hasNext(UserAuthPublicKeyIterator.java:198)
        at org.apache.sshd.client.auth.pubkey.UserAuthPublicKey.resolveAttemptedPublicKeyIdentity(UserAuthPublicKey.java:267)
        at org.apache.sshd.client.auth.pubkey.UserAuthPublicKey.sendAuthDataRequest(UserAuthPublicKey.java:155)
        at org.apache.sshd.client.auth.AbstractUserAuth.process(AbstractUserAuth.java:71)
        at org.apache.sshd.client.session.ClientUserAuthService.tryNext(ClientUserAuthService.java:343)
        at org.apache.sshd.client.session.ClientUserAuthService.processUserAuth(ClientUserAuthService.java:315)
        at org.apache.sshd.client.session.ClientUserAuthService.process(ClientUserAuthService.java:252)
        at org.apache.sshd.common.session.helpers.CurrentService.process(CurrentService.java:109)
        at org.apache.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:591)
        at org.apache.sshd.common.session.helpers.AbstractSession.lambda$handleMessage$0(AbstractSession.java:522)
        at org.apache.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:68)
        at org.apache.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:521)
        at org.apache.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1639)
        at org.apache.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:482)
        at org.eclipse.jgit.internal.transport.sshd.JGitClientSession.messageReceived(JGitClientSession.java:197)
        at org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:64)
        at org.apache.sshd.common.io.nio2.Nio2Session.handleReadCycleCompletion(Nio2Session.java:407)
        at org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:380)
        at org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:375)
        at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.lambda$completed$0(Nio2CompletionHandler.java:38)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:37)
        at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129)
        at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221)
        at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: javax.security.auth.login.FailedLoginException: No password data for encrypted resource=/Users/ignatsachivko/.ssh/id_rsa
        at org.apache.sshd.common.config.keys.loader.pem.AbstractPEMResourceKeyPairParser.extractKeyPairs(AbstractPEMResourceKeyPairParser.java:158)
        ... 46 common frames omitted

Comment From: bvn13

@ryanjbaxter Sorry for delayed answering.

Here is my logs:

2023-01-16T14:35:46.056+03:00  WARN 2506193 --- [           main] .c.s.e.MultipleJGitEnvironmentRepository : Error occured cloning to base directory.

org.eclipse.jgit.api.errors.TransportException: ssh://git@gitea.bvn13.me:2221/your-hike/yh-application-properties.git: Cannot log in at gitea.bvn13.me:2221
publickey: no keys to try
    at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:246) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:325) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:191) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.cloneToBasedir(JGitEnvironmentRepository.java:656) ~[spring-cloud-config-server-4.0.0.jar:4.0.0]
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.initClonedRepository(JGitEnvironmentRepository.java:361) ~[spring-cloud-config-server-4.0.0.jar:4.0.0]
    at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.afterPropertiesSet(JGitEnvironmentRepository.java:282) ~[spring-cloud-config-server-4.0.0.jar:4.0.0]
    at org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository.afterPropertiesSet(MultipleJGitEnvironmentRepository.java:71) ~[spring-cloud-config-server-4.0.0.jar:4.0.0]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1797) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1747) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1621) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1585) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1476) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1363) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:548) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:548) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1621) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1585) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1504) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1363) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:548) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:961) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:915) ~[spring-context-6.0.3.jar:6.0.3]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[spring-context-6.0.3.jar:6.0.3]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:432) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1291) ~[spring-boot-3.0.1.jar:3.0.1]
    at ru.yh.config.server.ConfigServerApplication.main(ConfigServerApplication.java:30) ~[main/:na]
Caused by: org.eclipse.jgit.errors.TransportException: ssh://git@gitea.bvn13.me:2221/your-hike/yh-application-properties.git: Cannot log in at gitea.bvn13.me:2221
publickey: no keys to try
    at org.eclipse.jgit.transport.sshd.SshdSession.connect(SshdSession.java:182) ~[org.eclipse.jgit.ssh.apache-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.sshd.SshdSession.connect(SshdSession.java:101) ~[org.eclipse.jgit.ssh.apache-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.sshd.SshdSessionFactory.getSession(SshdSessionFactory.java:256) ~[org.eclipse.jgit.ssh.apache-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.sshd.SshdSessionFactory.getSession(SshdSessionFactory.java:1) ~[org.eclipse.jgit.ssh.apache-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:107) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:281) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:153) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:151) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:103) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1462) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:235) ~[org.eclipse.jgit-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    ... 72 common frames omitted
Caused by: org.apache.sshd.common.SshException: No more authentication methods available
    at org.apache.sshd.common.future.AbstractSshFuture.verifyResult(AbstractSshFuture.java:127) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.client.future.DefaultAuthFuture.verify(DefaultAuthFuture.java:39) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.client.future.DefaultAuthFuture.verify(DefaultAuthFuture.java:32) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.future.VerifiableFuture.verify(VerifiableFuture.java:68) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.eclipse.jgit.transport.sshd.SshdSession.connect(SshdSession.java:172) ~[org.eclipse.jgit.ssh.apache-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    ... 82 common frames omitted
Caused by: org.apache.sshd.common.SshException: No more authentication methods available
    at org.apache.sshd.client.session.ClientUserAuthService.tryNext(ClientUserAuthService.java:379) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.client.session.ClientUserAuthService.processUserAuth(ClientUserAuthService.java:315) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.client.session.ClientUserAuthService.process(ClientUserAuthService.java:252) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.session.helpers.CurrentService.process(CurrentService.java:109) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:591) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.session.helpers.AbstractSession.lambda$handleMessage$0(AbstractSession.java:522) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.util.threads.ThreadUtils.runAsInternal(ThreadUtils.java:68) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:521) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1639) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:482) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.eclipse.jgit.internal.transport.sshd.JGitClientSession.messageReceived(JGitClientSession.java:197) ~[org.eclipse.jgit.ssh.apache-6.4.0.202211300538-r.jar:6.4.0.202211300538-r]
    at org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:64) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.io.nio2.Nio2Session.handleReadCycleCompletion(Nio2Session.java:407) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:380) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:375) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.lambda$completed$0(Nio2CompletionHandler.java:38) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) ~[na:na]
    at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:37) ~[sshd-osgi-2.9.2.jar:2.9.2]
    at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) ~[na:na]
    at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) ~[na:na]
    at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Comment From: bvn13

Thank you!