spring cloud config server使用ssh方式连接config-repo

spring cloud config server 有三种连接git方式,从而读取config repo中的配置信息。

方式一:用户名密码方式

spring:
  cloud:
    config:
      server:
        git:
          uri: https://git.oschina.net/config-repo
          username: username
          password: password

uri使用https地址。

方式二:SSH属性配置

生成SSH公钥,将公钥信息添加到git上。

生成公钥方式 

注意配置文件中的uri使用ssh地址:git@gitee.com:config-repo.git

因为之前生成过公钥,但是无法链接。索性清除key-pair重新生成密钥对。

首先,清除所有的key-pair
ssh-add -D
rm -r ~/.ssh
删除你在github中的public-key

重新生成ssh密钥对
ssh-keygen -t rsa -C "xxx@xxx.com"
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/id_rsa*

接下来正常操作
在github上添加公钥public-key:
1、首先在你的终端运行 xclip -sel c ~/.ssh/id_rsa.pub将公钥内容复制到剪切板
2、在github上添加公钥时,直接复制即可
3、保存

链接: https://www.zhihu.com/question/21402411/answer/42836492
如果出现Reject HostKey的错误,可参考 https://blog.csdn.net/czq7511/article/details/76038386

方式三:用java属性设置SSH连接

spring:
  cloud:
    config:
      server:
        git:
          uri: git@gitee.com:config-repo.git
          ignoreLocalSshSettings: true  #为了激活基于属性的SSH配置
#          hostKey: someKey
#          hostKeyAlgorithm: ssh-rsa
#          strictHostKeyChecking: true
          privateKey: |
                       -----BEGIN RSA PRIVATE KEY-----
                       MIIEpQIBAAKCAQEAzlveAu1ttIQpxbLhGxKXu4OCfMFmHecFqtk21qz0wAxDGNhh
                       HntkXVBoBLhWGrhMSuGlGz3PU0MkvTheRYLzf3r75lK5R0EqULJ7fcYxRVwiSNTb
                       **************************************
                       nEgjIlotLeGb+FxegNgZZd/4Dywk36tuvzLWlY6YBJlOxYYg54aYE61X85PzHJM+
                       P4hXH3ECgYEA7aGXCEBZmtRF4Z9hkEhwI0StXAvCqXibFw1kMD1viP4z43VNrSQb
                       4aW4u3pkKeMA9ezcp8J40zsCql3vz65Gokj1haS04MVkDVNK9P/g3jlfx9zSxSlB
                       +JYIL0yduAUBZx+FJ4jZe4S4DkS5X43XKfilfbrXX4kjVaeSOwbe76I=
                       -----END RSA PRIVATE KEY-----

用方式三的时候遇到的问题:

1、根据官方文档配置好信息之后,会出现异常com.jcraft.jsch.JSchException: reject HostKey: gitee.com 和 com.jcraft.jsch.JSchException: Auth fail .

尝试过各种解决方式,最后无聊看spring cloud版本都已经更新到F了,我们还是用的之前的d的release,已经跳过坑的我,似乎觉察到了什么。稍微尝试了下更新到Dalston.SR5,果然,又在新旧版本的坑里折腾了很久。

2、privateKey添加方式,注意别少了 |

3、升级了下版本之后,不再报500异常了,但是又出现了404.控制台warn如下:

2018-03-29 09:54:03.819  WARN 52093 --- [nio-8021-exec-6] .c.s.e.MultipleJGitEnvironmentRepository : Could not fetch remote for master remote: git@gitee.com:config-repo.git

又读官网配置,检查配置,无果。无意中把hostKey、hostKeyAlgorithm、strictHostKeyChecking这三个属性注释掉之后,刷新页面,配置信息居然出来了。

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

泪!!!

参考:

http://projects.spring.io/spring-cloud/

http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign


2018.3.30--------

版本升级之后,发现之前加密过的字符串不能解析了。但是昨天线上更新一版,并没有出现问题。

本地配置问题?可是换回低版本之后又可以,排除本地环境配置问题。

最后没办法之际,觉得刚才粗粗略过的一个回答,尝试下?嗯,解析出来了。

总结:spring cloud Dalston.SR5 版本之后,application.yml文件里不能有encrypt.key,启动的时候再配置,就不会出问题了。

参考:https://github.com/spring-cloud/spring-cloud-config/issues/800







  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值