当前位置: 首页 > 知识库问答 >
问题:

USERAUTH失败,带有Github和Spring云配置的私钥文件

景翰音
2023-03-14

我试图使用使用私钥的方法(它有密码并从文件添加到ssh-agent)(根据这个堆栈帖子):

spring:
  cloud:
    config:
      server:
        git:
          uri: git@github.com-forApp:myorg/myrepo.git
          search-paths: '{application}'
          clone-on-start: true
          private_key_file: ~/.ssh/id_rsa

但我一直得到

组织。日食jgit。应用程序编程接口。错误。运输例外:git@github.com:myorg/myrepo。git:USERAUTH失败

我是否必须完全按照doc所说的那样将密钥粘贴到配置文件中,还是可以以某种方式指向密钥文件?

编辑

实际上,Spring根本不需要或忽略私有密钥文件。但是您需要~/。ssh/config指向要使用的私钥的部分:

Host github.com-forApp # used in spring uri 
       HostName github.com
       User git
       IdentityFile ~/.ssh/gitHubKey

共有1个答案

沈龙光
2023-03-14

我能够复制你的行为,并通过跟随来解决它。让我知道你的想法。

USERAUTH失败是因为您没有提供RSA私钥的密码。(

spring:
  cloud:
    config:
      server:
        git:
          uri: git@github.com:myorg/myrepo.git
          search-paths: '{application}'
          clone-on-start: true
          passphrase: myprivatekeypassword

默认情况下,~/。ssh/id\u rsa在GIT-ssh身份验证期间发送(使用命令ssh-vT进行测试git@github.com。您不需要在配置中指定它。另外,我也不确定私钥文件是否有效,因为我没有看到任何有关它的官方文档。

如果您在. ssh下有不同的命名RSA文件,那么我建议在~/. ssh/config下创建配置文件,其中包含github主机详细信息和标识文件。

这里有一个例子。

Host github.com
    IdentityFile ~/.ssh/mygitid_rsa

检查此堆栈应答以了解更多详细信息,这些信息需要配置在配置中提供私钥文件路径。

 类似资料:
  • 使用SpringBoot、Java1.8、云配置服务器 我试图使用这个application.yml片段访问git回购。但是找不到主机密钥。 地址在我的knowHosts文件中: 堆栈跟踪: 你知道为什么这样不行吗?

  • 我试图设置Spring引导云配置服务器与ssh私钥文件和获取:ucom.jcraft.jsch.JSchExc0019: USERAUTH失败我的application.properties文件: 我得到了。 我怀疑这是由于钥匙放错了。如何把ssh键Spring启动application.properties文件?

  • 我正在努力实现以下目标: 能够使用Azure用户分配的管理身份(UAMI)从Spring启动应用程序(部署在AKS中)向vault(部署在Azure上)进行身份验证 栈:openjdk 8,spring boot 2.5.4,spring-cloud-starter-vault-config 3 . 0 . 3,AKS 我在azure上安装了hashicorp保险库。下面的文档建议我可以在这种情况

  • 我正在使用Mac上的ssh-keygen生成的公钥/私钥设置文件到服务器的SFTP传递。我生成的私钥看起来与代码库中的其他私钥不同(它没有标头,是“OpenSSH私钥”而不是“RSA私钥”)。

  • 我在Git上创建了一个个人存储库,在那里我保存了我的属性文件。我创建了一个云配置服务器('my-config-server'),并使用了git存储库URL。我已经将spring-boot应用程序绑定到Git存储库中,该应用程序应该访问外部属性文件。 问题:在使用外部属性文件之前,我的内部属性文件位于:src/main/resources 在MANIFEST.YML中,我添加了@enableConf

  • 问题内容: 我可以使用和密码在服务器上成功进行身份验证。但是,当我尝试通过jenkins 通过SSH 插件 发布 (使用Test进行配置)来执行此操作时,出现以下错误消息: 我输入了与腻子相同的信息: 主机名 :myhostname 用户 名 :myusername 远程目录 : 使用密码身份验证,或使用其他密钥密码/密码密钥 路径 :已选中 密钥路径 :mypath 密码 :mypassswor