DGI.Framework.Communications.Generic.SSHClient 2.0.2

SSH Client for DGI AV Framework

Provides an SSH capable of connecting to a server for sending and receiving data. It is designed to be used with the DGI AV Framework but can be used in any .NET application. It features the ability to retry the server connection if it is not successful, or when it gets remotely disconnected. The retry interval is fast in the beginning and slows down after consecutive attempts. The timing is ideal for applications when the device might not always be online. This way the network is not tasked with constant SSH connection traffic.

This driver will not write in the log every time a connection is not successful unless the log level is set to Debug. This is to avoid flooding the log with unnecessary messages.

The driver implements ICommunications for easy interfacing with other Device Drivers in the DGI AV Framework.

The constructor takes a configuration class to configure the connection. This can be leveraged by the Host Application to create the configuration file from a JSON file stored in the device and boot up.

It relies entirely on .NET standard libraries, making it possible to be used in Windows, macOS, and Linux applications.

Version 1.1.x supports Hostname resolution through mDNS, ideal for Shure microphones that don't announce their hostnames to the DHCP server.

Version 1.2.0 removed mDNS support due to long compile times when used as a SIMPL library. If mDNS resolution is needed in SIMPL a separate library has been created for that purpose.

Notes

This driver is intended for IpV4 addresses only. IpV6 is not supported.

As its acronym implies, SSH is a Secure Shell implementation. Therefore, this driver assumes that it will be sending commands to the device as if it were a Shell, i.e., human-readable one-line commands terminated by a Return.

When interfacing with this driver, there is no need to append a new line or return character, since a single send message will be interpreted as a one-line command. (It will work just fine if the return character is inserted, though.)

This driver does not implement file transfer or anything else that is not one-line commands.

A sample program that runs on a Crestron Appliance is included to test integration. This library can be used standalone, but it is normally part of the larger DGI Architecture.

Changing any IP Address, Hostname, Username or Password while the connection is established will trigger a reconnection attempt.

Hostname resolution will be attempted through DNS first, and if it fails, it will attempt to resolve through mDNS.

VC-4 Notes

Under CentOs, the mDNS ports are closed by default. For your program to resolve mDNS commands the following must be done:

sudo firewall-cmd --permanent --zone=public --add-port=5353/udp
sudo firewall-cmd --reload

Full Documentation

For more information on how to use this driver, please refer to the Full Documentation.

Showing the top 20 packages that depend on DGI.Framework.Communications.Generic.SSHClient.

Packages Downloads
DGI.Framework.Core.RemoteDeviceFactory
Creates Remote Drivers for Remote Devices
6

v2.0.2 (2026-06-18) By: Alvaro Yurrita Docs and Oomments fixes only

.NET Framework 4.7

.NET 8.0

Version Downloads Last updated
2.0.2 3 6/19/2026
2.0.1 2 6/19/2026
2.0.0 2 6/5/2026
1.2.0 3 2/22/2025
1.1.3 2 10/11/2024
1.1.2 2 10/6/2024
1.1.1 6 9/19/2024
1.1.0 2 9/1/2024
1.0.0 1 9/1/2024
1.0.0-rc1 6 11/5/2023