Spring Cloud Config Server通过SSH连接Bitbucket遇配置错误求助
问题:Spring Cloud Config Server通过SSH连接Bitbucket仓库启动失败
操作背景
我正在搭建Spring Cloud Config Server,尝试通过SSH URI连接Bitbucket的Git仓库,已按照官方规范执行以下操作:
- 执行命令生成PEM格式RSA密钥对:
ssh-keygen -m PEM -t rsa -b 4096 -C "sweta"
- 将公钥内容粘贴到Bitbucket账户的SSH设置区域
但启动Spring Boot应用时出现无效私钥相关异常,我的配置内容如下:
spring.cloud.config.server.git.uri=git@webprod:7999/service-micro/service-properties.git spring.cloud.config.server.git.ignoreLocalSshSettings=true spring.cloud.config.server.git.password=-----BEGIN RSA PRIVATE KEY-----\n\ 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\ MGaxAoIBAQDjtPSK9EuXM9efkl69hfPEJ0K01ediaMEOwTTEniDmhP2qi2mt+nLx\ 8t5RB6u/w48V4QYE8s9orbdhrsbv/Uv0nvj4L/55Rpqh7BWhtlZWC9UNUHrNe3Ly\ +/cF4OD3JLpDVz3SLa3lGCHCyk3fi8AnoCSfXqpZwZyvd0G6PIlk+zAoB9XWzDNh\ M5dKz3TOWWkx48klK4Sdm2ZFJjGLUlU6Q0n+XQret809JxZHPry/GaZ7kxIaQcA6\ OmOfMZetOcBMy3qnRlWcR7TuVHb1RLqr/Sxyk0g3bLhIh2H0kdlsV/0nYLeDzneg\ BPDQe4S/O1yye7LZp/hckeXxjp2H3tZvAoIBAQCDZymWIl26Fr9EF/InFYv45A/G\ q+BX8E+1W7cvpRoV1l9gHRY1meE2aBEjIZ2jO61gz5bflYjlTU7G9ERGU/73HUFG\ 1sNemQuEt601KejgfR4JZNTsb4Pqe5gmhxdPEtG5kAlsPY8k8nLbs6URU5aH0Cuq\ fBVXXGELvGka82XYtIC0c1Kj+4e2j4vL/w3zZ/cyPgmeaR8e6bM31L1AGccWEaEi\ /x8ybvCwQqcbP49bDlv5rmPMAUO34bRjMxK3XJZbbjJrhNdb8a89zGsx4+s8k+ZH\ /gFdvOAB6A5xw1YuMsryQCYPJOrEZips1apEEZ0yqSUcdve7OanfpXiiEiCs\ \ -----END RSA PRIVATE KEY-----
我已在私钥内容末尾添加了\n和\,但问题仍未解决,错误日志如下:
Description: Binding to target org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.cloud.config.server.git' to org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentProperties failed: Reason: Property 'spring.cloud.config.server.git.privateKey' must be set when 'spring.cloud.config.server.git.ignoreLocalSshSettings' is specified
问题原因及解决步骤
- 配置属性名称错误:你将私钥配置到了
spring.cloud.config.server.git.password,但当开启ignoreLocalSshSettings=true时,必须使用spring.cloud.config.server.git.privateKey来指定私钥内容,而非password字段。 - 修正配置格式:将原配置中的
password替换为privateKey,同时确保私钥每行结尾的转义符\n\正确,结尾的-----END RSA PRIVATE KEY-----后不要保留多余空行或转义字符。
修改后的配置示例:
spring.cloud.config.server.git.uri=git@webprod:7999/service-micro/service-properties.git spring.cloud.config.server.git.ignoreLocalSshSettings=true spring.cloud.config.server.git.privateKey=-----BEGIN RSA PRIVATE KEY-----\n\ MIIJKQIBAAKCAgEA49ZAmVWvAMKqOqGwQq8vhaXsA3LiYWbk1G9CTAjLW6i+NXHR\n\ Fjk2qdUTRGsAZUCIIbgSK5hW1Ciaj8PU+Cuqz5oVaAzvNxQy+zvj4emi0KLJDhYk\n\ KaeeOpz1R4fT6QoIP7cwugdI3e7GRqLFSZ2MQovHJKfTLjWhLgZj2YzS6Jvdl1DS\n\ ...(剩余私钥内容保持原格式,每行结尾加\n\)\n\ -----END RSA PRIVATE KEY-----
- 额外验证项:
- 确认私钥未设置密码短语(passphrase),如果有密码短语,需额外添加
spring.cloud.config.server.git.passphrase配置项填写对应密码。 - 在本地执行
ssh -T git@webprod:7999测试SSH连通性,确保密钥对能正常访问Bitbucket仓库。
- 确认私钥未设置密码短语(passphrase),如果有密码短语,需额外添加
内容的提问来源于stack exchange,提问作者Sweta Sharma
相关产品推荐
相关产品推荐

