天天看点

SpringCloud Config 使用ssh连接github报错SpringCloud Config 使用ssh连接github报错:

SpringCloud Config 使用ssh连接github报错:

java Caused by: com.jcraft.jsch.JSchException: Auth fail

在练习 SpringCloud Config 配置中心时,使用 ssh 连接 GitHub 读取配置文件,出现了 Auth faill 的问题。

解决过程

  • 在 Git Base 中测试连接 ssh -T [email protected] 却不存在问题,并且可以正常的从代码仓库上克隆代码。经过各种尝试最终将排查目标定位到证书的问题上。
  • 之前使用的是 rsa-key 的方式生成的证书,使用的命令是 ssh -keygen -t rsa -C “[email protected]”, 这种方式生成的证书在 Git Base 上操作是没有问题的,但是在 SpringCloud Config 就是不行。于是我尝试使用以下命令
ssh-keygen -m PEM -t rsa -b 4096 -C “[email protected]”

生成证书,再次在 SpringCloud Config 中使用,问题解决。

可能原因

第一种方式生成的私钥是以BEGIN RSA PRIVATE KEY开头,END RSA PRIVATE KEY结尾。

第二种方式生成的私钥是以BEGIN OPENSSH PRIVATE KEY开头,END OPENSSH PRIVATE KEY结尾。

SpringCloudConfig访问git的组件不支持openssh这种格式的秘钥。