Namespace Neon.SSH
Classes
CommandBundle
Describes a collection of files to be uploaded to a Linux server along with the command to be executed after the files have been unpacked.
CommandFile
Describes a file to be included in a CommandBundle.
CommandResponse
Describes the results of a command executed on the remote server using RunCommand(CommandBundle, RunOptions) or SudoCommand(string, params object[]).
HostFolders
Enumerates the paths of important directories on cluster host servers.
LinuxDiskInfo
Holds information about a Linux disk and its partitions.
LinuxDiskPartition
Holds information about a Linux disk partition.
LinuxSshProxy
Uses a SSH/SCP connection to provide access to Linux machines to access files, run commands, etc.
note
IMPORTANT: We use this class to manage Ubuntu Linux machines. This will likely work for Debian and other Debian based distros but other distros like Alpine and Red Hat may have problems or may not work at all.
LinuxSshProxy<TMetadata>
Uses a SSH/SCP connection to provide access to Linux machines to access files, run commands, etc. This extends LinuxSshProxy by adding the Metadata property with a generic type.
note
IMPORTANT: We use this class to manage Ubuntu Linux machines. This will likely work for Debian and other Debian based distros but other distros like Alpine and Red Hat may have problems or may not work at all.
NamespaceDoc
This namespace includes the LinuxSshProxy<TMetadata>, LinuxSshProxy and related classes that wrap and extend the base SSH.NET library clients with additional support for managing remote Linux machines via SSH including executing commands, scripts, uploading/downloading files, and performing idempotent operations. Remote command executions and their results can also be logged locally via a TextWriter (using a completely non-standard but still useful logging format).
The other major type is CommandBundle. Command bundles provide a way to upload a script or executable to a temporary working directory and then run the script or program in the context of the working directory so the script or program will have access to the files.Command bundle executions can also tolerate transient network disconnections.
note
This package has been tested against remote machines running Ubuntu 18.04+ and will probably run fine on many other Debian-based distributions. RedHat and other non-Debian distributions probably won't be compatible.
RemoteCommandException
Indicates that a remote command execution failed.
SshCredentials
Provides credentials suitable for connecting to a server machine via SSH.
SshExtensions
Renci SSH.NET related extensions.
SshProxyException
Thrown for LinuxSshProxy<TMetadata> errors.
Interfaces
IBashCommandFormatter
Describes a type implementation that can render a nicely formatted Bash command.
ILinuxSshProxy
Defines core methods and properties implemented by LinuxSshProxy.
Enums
RunOptions
Enumerates the possible options to use when executing a remote command on a LinuxSshProxy<TMetadata>. These options may be combined using the bitwise OR operator.