# Automating ePMP Password Changes using cnMaestro

**URL:** <https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999>\
**Category:** ePMP\
**Tags:** knowledge-base\
**Created:** [May 8, 2017, 9:38pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999 "2017-05-08T21:38:48Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vern](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/v/35a633/32.png) [@Vern](https://community.cambiumnetworks.com/u/Vern)\
**Post date:** [May 8, 2017, 9:38pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/1 "2017-05-08T21:38:48Z")

</div>

Some time ago, I posted a method for [Automating PMP450 Password Changes with cnMaestro](https://community.cambiumnetworks.com/t/automating-pmp450-password-changes-with-cnmaestro/47939 "Automating PMP450 Password Changes with cnMaestro").&nbsp; There were a few requests asking how to do the same thing with ePMP.&nbsp; This post will describe the process to automate ePMP password changes.

**Create The Config String:**

The first step is to create a configuration string cnMaestro will push to the radios.&nbsp; Since ePMP devices don’t require complete configurations, we can simply copy the **cambiumSysAccountsTable** from a device configuration file.&nbsp; You can get the file directly from the radio by clicking Tools-\>Backup/Restore.&nbsp; There’s an option to backup the configuration file as text.&nbsp; I usually open it with Wordpad because it handles Unix style line feeds pretty well.&nbsp; You can also retrieve the configuration from cnMaestro by clicking “View Device Configuration” on the “Configure Devices” screen. &nbsp;&nbsp;Near the end of the file you’ll see the cambiumSysAccountsTable section.&nbsp; Copy that entire section.&nbsp; It should look like the text below.

```
{
  "device_props": {
    "cambiumSysAccountsTable": [
      {
        "cambiumSysAccountsName": "admin",
        "cambiumSysAccountsHash": "$1$Q4yAUtfC$E0acJjgS3LxPdxVTghsYh.",
        "cambiumSysAccountsUID": "1000",
        "cambiumSysAccountsGID": "4",
        "cambiumSysAccountsDir": "/tmp",
        "cambiumSysAccountsShell": "/usr/bin/clish"
      },
      {
        "cambiumSysAccountsName": "installer",
        "cambiumSysAccountsHash": "$1$WmN77JQD$fO7YDVacRXNNEHEIH1bhm.",
        "cambiumSysAccountsUID": "2000",
        "cambiumSysAccountsGID": "100",
        "cambiumSysAccountsDir": "/tmp",
        "cambiumSysAccountsShell": "/bin/false "
      },
      {
        "cambiumSysAccountsName": "home",
        "cambiumSysAccountsHash": "$1$/Bv9wvkq$5lBZqqsoAJj4uYOhb7pOS0",
        "cambiumSysAccountsUID": "3000",
        "cambiumSysAccountsGID": "100",
        "cambiumSysAccountsDir": "/tmp",
        "cambiumSysAccountsShell": "/bin/false "
      },
      {
        "cambiumSysAccountsName": "readonly",
        "cambiumSysAccountsHash": "$1$zn4/PlCl$1qP9PGmPChDwkDAgp5Qgw0",
        "cambiumSysAccountsUID": "4000",
        "cambiumSysAccountsGID": "100",
        "cambiumSysAccountsDir": "/tmp",
        "cambiumSysAccountsShell": "/bin/false "
      },
      {
        "cambiumSysAccountsName": "dashboard",
        "cambiumSysAccountsHash": "$1$Y9oz6eRg$ysokBk9VZCGo4AN6WQgVF0",
        "cambiumSysAccountsUID": "5000",
        "cambiumSysAccountsGID": "100",
        "cambiumSysAccountsDir": "/tmp",
        "cambiumSysAccountsShell": "/bin/false"
      }
    ]
  }
}
```

Inside the cambimSysAccountsTable you’ll see a few elements.&nbsp; I don’t recommend editing anything other than cambiumSysAccountsHash.&nbsp; That element is the password for the account.&nbsp; You’ll notice it’s a hash.&nbsp; The only way I’ve found to generate the hash is by changing the password on a radio and reading it from the configuration file.

**Creating A Template In cnMaestro:**

Now that you've created a configuration string, it's time to turn it into a configuration template in cnMaestro.&nbsp; Log into cnMaestro and go to Configure-\>Templates.&nbsp; Click Add New Template.

 ![ePMPTemplate.PNG](https://d1okf4ta8xniw3.cloudfront.net/original/2X/9/97c99763c0cb8e9c777c76f62f189721a569ffc1.png "ePMPTemplate.PNG")

Since this configuration is valid for both APs and SMs, be sure to check both in the template dialog.&nbsp; Paste the config string you created earlier into the configuration text box and click save.

**Applying The Template:**

The hard work is done.&nbsp; Now it’s time to let cnMaestro take over.&nbsp; If you want to change passwords network wide, click on System in the network hierarchy on the left of the cnMaestro dashboard.&nbsp; You certainly could navigate to a tower or network if you want to limit which devices get the password change.&nbsp; Now click Configure-\>Devices.&nbsp; On the configuration tab, select ePMP as the device type and select the template you created earlier.

 ![ePMPApplyTemplate.PNG](https://d1okf4ta8xniw3.cloudfront.net/original/2X/c/c4de79f0457324c7f2718a7b6c9e23c4c3faed26.png "ePMPApplyTemplate.PNG")

Now select all the devices you want to change passwords and click add job.&nbsp; I prefer to start the job automatically.&nbsp; If you don’t check that box, you’ll have to click on the Active Jobs tab and start the job manually.

That’s it!&nbsp; In a snap, cnMaestro will change the passwords on the radios you selected.

---

<div class="post-metadata">

**Author:** ![Kgblaster](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/k/f19dbf/32.png) [@Kgblaster](https://community.cambiumnetworks.com/u/Kgblaster)\
**Post date:** [November 22, 2017, 8:18pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/2 "2017-11-22T20:18:35Z")

</div>

I tried to export a config from another ePMP 1000 and the file not contain the

```
cambiumSysAccountsTable
```

To get the password hash what I want.

You can share the cambiumSysAccountsHash from admin default password?

---

<div class="post-metadata">

**Author:** ![Cambium\_Emilio](https://d10gw3vjmzyp8.cloudfront.net/user_avatar/community.cambiumnetworks.com/cambium_emilio/32/11547_2.png) [@Cambium\_Emilio](https://community.cambiumnetworks.com/u/Cambium_Emilio)\
**Post date:** [August 20, 2018, 10:11pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/3 "2018-08-20T22:11:38Z")

</div>

[@Kgblaster](https://community.cambiumnetworks.com/u/Kgblaster/summary), use the ePMP device UI to export a text editable configuration file.&nbsp; It will include **cambiumSysAccountsTable**.&nbsp; Apparently, this table is omitted when cnMaestro is used to "View Device Configuration" file.

ePMP Device UI - Device configuration export

 ![ePMP_DeviceUI_ConfigExport.jpg](https://d1okf4ta8xniw3.cloudfront.net/original/2X/8/8e083135f34309a69db9a65d5c37658cd98d2e16.jpeg "ePMP\_DeviceUI\_ConfigExport.jpg")

cnMaestro - Device configuration export

Although cnMaestro can be used to view/export the device configuration file, as shown below, the cambiumSysAccountsTable is not included.

 ![cnMaestro_ConfigExport.jpg](https://d1okf4ta8xniw3.cloudfront.net/original/2X/1/1106408077122195df85a3064dc3e81098270c9c.jpeg "cnMaestro\_ConfigExport.jpg")

---

<div class="post-metadata">

**Author:** ![arturo0890](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@arturo0890](https://community.cambiumnetworks.com/u/arturo0890)\
**Post date:** [December 6, 2018, 5:16am UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/4 "2018-12-06T05:16:43Z")

</div>

casa

---

<div class="post-metadata">

**Author:** ![dimas\_j\_perez](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/d/53a042/32.png) [@dimas\_j\_perez](https://community.cambiumnetworks.com/u/dimas_j_perez)\
**Post date:** [July 18, 2020, 1:39pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/5 "2020-07-18T13:39:47Z")

</div>

Hi, how would it be for a Force300 please.

---

<div class="post-metadata">

**Author:** ![gregoryeid1](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/g/edb3f5/32.png) [@gregoryeid1](https://community.cambiumnetworks.com/u/gregoryeid1)\
**Post date:** [August 21, 2020, 9:40am UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/6 "2020-08-21T09:40:08Z")

</div>

cnMaestro will skip devices that are offline at the time the job is running. Is there a way to automate this process so cnMaestro can push the template file to devices that come online later?

---

<div class="post-metadata">

**Author:** ![promea\_villa](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/p/e99b99/32.png) [@promea\_villa](https://community.cambiumnetworks.com/u/promea_villa)\
**Post date:** [July 15, 2022, 11:17pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/7 "2022-07-15T23:17:02Z")

</div>

Which hashing algorithm is used for the hashes here?

---

<div class="post-metadata">

**Author:** ![ninedd](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@ninedd](https://community.cambiumnetworks.com/u/ninedd)\
**Post date:** [July 16, 2022, 6:32am UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/8 "2022-07-16T06:32:43Z")

</div>

Hi. as far as I know, the only way to get the hash is this.

Login to a live radio, set the password to whatever you want the password to be, save the configuration out of that radio, load the configuration into some sort of text editor and you’ll see the password represented as a hash.

That’s the only way I’m aware to you generate that password hash. So, then cut and paste that hash to use in your template.

---

<div class="post-metadata">

**Author:** ![Rinat\_Aliyev](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/r/51bf81/32.png) [@Rinat\_Aliyev](https://community.cambiumnetworks.com/u/Rinat_Aliyev)\
**Post date:** [November 11, 2024, 5:40am UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/9 "2024-11-11T05:40:00Z")

</div>

Unfortunately, with Software Version 5.9.0 this method just doesn’t work ☹  
the job completed successfully but the password doesn’t change.  
Is there any other method to reset the password except full reset to factory default ?

---

<div class="post-metadata">

**Author:** ![Fedor](https://d10gw3vjmzyp8.cloudfront.net/user_avatar/community.cambiumnetworks.com/fedor/32/20305_2.png) [@Fedor](https://community.cambiumnetworks.com/u/Fedor)\
**Post date:** [November 11, 2024, 3:37pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/10 "2024-11-11T15:37:43Z")

</div>

This has been broken in 5.8/4.8.1 and we apologise for the inconveniences caused.  
The fix is coming in 5.9.1. We anticipate to get 5.9.1 Beta released this week.

Thank you.

---

<div class="post-metadata">

**Author:** ![Rinat\_Aliyev](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/r/51bf81/32.png) [@Rinat\_Aliyev](https://community.cambiumnetworks.com/u/Rinat_Aliyev)\
**Post date:** [November 13, 2024, 1:02pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/11 "2024-11-13T13:02:18Z")

</div>

Ok, will wait for the update. Spasibo, Fedor.

---

<div class="post-metadata">

**Author:** ![maxwire](https://d10gw3vjmzyp8.cloudfront.net/letter_avatar_proxy/v4/letter/m/bcef8e/32.png) [@maxwire](https://community.cambiumnetworks.com/u/maxwire)\
**Post date:** [November 13, 2024, 3:48pm UTC](https://community.cambiumnetworks.com/t/automating-epmp-password-changes-using-cnmaestro/50999/12 "2024-11-13T15:48:00Z")

</div>

Please issue a notice  
We onboard all of our devices as they come in, they pull firmware first then have the template applied. Are you saying the passwords will not be updated when our template applies on 4.8.1?
