Solution
The problem is that the client's public key file is now different from the public key stored by SystemLink for that client. You need to delete the public key stored by SystemLink for that client and allow the client to update SystemLink with its newer public key. To do this follow these steps:
- On the client system, stop the NI Salt-Minion service
- Delete the public key for that client from SystemLink (details below)
- On the client system, start the NI Salt-Minion service
- If the client system appears in the Pending systems tab, approve the client system
Method for deleting the stored public key for that client from SystemLink Server or SystemLink Base
Find and delete a file named with that client's minionId in one of the subfolders of this folder on the SystemLink Server computer:
C:\ProgramData\National Instruments\salt\conf\pki\master\
Method for deleting the stored public key for that client from SystemLink Enterprise
Replace the minionId in the code below with that of the client you're trying to fix, then run this notebook in SystemLink's Jupyterhub:
import requests
import systemlink.clients.nisysmgmt.api.systems_api as systems_api
from systemlink.clients.nisysmgmt.models import QuerySystemsRequest, ManageKeysRequest, KeyRequest, KeyAction, UnregisterSystemsRequest
### Paste your client's minionId into the minion_id variable below
minion_id = "Precision_3591--SN-6J04P54--MAC-88-F4-DA-10-E6-B8"
systems_handle = systems_api.SystemsApi(systems_api.ApiClient())
key_req = KeyRequest(minion_id, KeyAction.DELETE)
req = ManageKeysRequest(key_actions = [key_req])
await systems_handle.manage_systems_keys(req)
print('Deleted')