问题描述

公司排查弱口令问题,需要修改生产环境nacos服务器的默认账号密码nacos/nacos,本人修改后忘记备份密码,导致后面无法登录。

解决方案:

1、有其他账号(管理员角色)

正常情况下,登录自己账号后可以重置密码。
在这里插入图片描述

在这里插入图片描述
也可以登录其他管理员角色的账号,新建、修改用户密码。
在这里插入图片描述

2、部署nacos时如果你在nacos配置中设置了MySQL数据库,可以直接在数据库重置密码

①启一个demo,定义好新的nacos密码,获取加密后的字符串;

  @Test
  public void test5() {
    System.out.println(new BCryptPasswordEncoder().encode("nacos2024"));
  }

需要引入依赖才能使用上面的加密方法

    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>

②找到nacos_config数据库,users表,将要替换的密码加密后的值覆盖原账号的密文;
在这里插入图片描述
③重新登录

3、部署nacos时如果使用了nacos内置数据库

可通过调用nacos内置API修改密码,方法如下(已经过测试)。
linux系统中,执行以下命令:

#新增用户
curl -X POST 'http://{nacos服务器ip}:{nacos服务器端口}/nacos/v1/auth/users' -d 'username={新增的用户名}&password={新增的用户密码明文}'
#更新密码
curl -X PUT 'http://{nacos服务器ip}:{nacos服务器端口}/nacos/v1/auth/users' -d 'username={要更新的用户名}&newPassword={要更新的用户密码明文}'

也可以通过postman等接口调用工具,模拟post请求。
需要注意,第三种方法的前提是nacos没有启动鉴权认证,如果启用了认证,可以修改nacos的config包下面的application.properties中的配置,将nacos.core.auth.enabled改为false,重启nacos再试。
在这里插入图片描述

GitHub 加速计划 / na / nacos
140
24
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:5 个月前 )
2d78d1c7 * Upgrade to 2.5.0. * Bump ui dependencies by npm audix. * Fix unit test. * Ignore DumpAllProcessorTest Tmp. 3 天前
6da6cc93 Bumps org.apache.tomcat.embed:tomcat-embed-core from 9.0.96 to 9.0.98. --- updated-dependencies: - dependency-name: org.apache.tomcat.embed:tomcat-embed-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐