Client system suddenly disconnects from SystemLink

Updated Jul 29, 2025

Reported In

Software

  • SystemLink

Other

SystemLink, minion, minionId, minion_id, disconnect

Issue Details

A formerly connected SystemLink client system suddenly switches to status "Do not connect to a SystemLink server", and it stays disconnected, despite all troubleshooting efforts.

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')

Additional Information

The client's public key file was likely changed or deleted by some person or process-- you can often verify this by just looking at the "Last Modified" file property and comparing it to the date the system was first connected.  When that happens the client automatically generates a new public key for itself, but SystemLink Server or SystemLink Enterprise hang on to the old public key for that client (before the change/deletion). This creates a mismatch between the newer client public key and the original public key stored on the server for that client.  Here is the location of the public key on the client:

C:\ProgramData\National Instruments\salt\conf\pki\minion\minion.pub