Agent Controls and VIs

Owning Palette: Toolkit

Requires: LIBSSH2

Represents a connection to a SSH agent application. A SSH agent application stores usernames, public/private key pairs, and passwords/passphrases to make managing and using multiple "identities" for multiple remote SSH servers.

Identities are stored in memory as a linked list. This class provides functionality for obtaining the linked list and transversing the linked list of identities.

Class ItemDescription
Type DefinitionsGroups related files into a folder
UtilityGroups related files into a folder
AuthenticateLogs into the remote SSH/SFTP server using a given agent identity from the SSH-agent application.
ConnectEstablish a connection with a running SSH-agent application. This must be called before requesting the list of identities that are available for logging into a remote SSH server with the First Identity VI.
CreateCreates a new Agent object that represents a libssh2lv shared library Agent struct. This VI must be called, or executed, before using any other Agent-related VIs. This VI allocates memory within the libssh2lv shared library that must be explicitly deallocated, or freed, at the end of the application using the Destroy VI to avoid memory leaks or running Out-of-Memory (OOM) on a resource contrained system. An Agent object represents a connection to a SSH-agent application already running on the local host.
DestroyDeallocates, or frees, the memory allocated for the libssh2lv shared library Agent struct represented by this Agent object. After this is called, the object can no longer be used in the application without causing a segmentation fault, i.e. crashing LabVIEW. This VI must be called to avoid leaking memory or running Out-of-Memory (OOM) on resource-constrained systems.
DisconnectDisconnects and closes the connection to the SSH-agent application. This should be called before the Agent object is destroyed.
First IdentityGets the first identity in the internal libssh2lv shared library linked list of identities obtained from a SSH-agent application. Identities are obtained from a SSH-agent application as a linked list within the libssh2 library. This should be called first, before looping through the linked list with the Next Identity VI.
Next IdentityGets the next identity in the internal libssh2lv shared library linked list of identities obtained from a SSH-agent application. Identities are obtained as a libssh2lv shared library internal linked list. This VI should be called after the first identity is retrieved, but it is safe to call in a loop to obtain all of the identities.
Request IdentitiesObtain a list of identities that are available from a running instance of a SSH agent application. The identities are returned from the SSH agent application as a linked list internal to the libssh2 library. This VI must be called before transversal of the linked list with the First and Next VIs.