Renci.SshNet Generates a array of the specified length, and fills it with a cryptographically strong random sequence of values. The length of the array generate. Reads a byte from the specified . The to read from. Specifies the amount of time after which the call will time out. The byte read, or -1 if the socket was closed. The read operation timed out. The read failed. Sends a byte using the specified . The to write to. The value to send. The write failed. Receives data from a bound . The to read from. The number of bytes to receive. Specifies the amount of time after which the call will time out. The bytes received. If no data is available for reading, the method will block until data is available or the time-out value is exceeded. If the time-out value is exceeded, the call will throw a . If you are in non-blocking mode, and there is no data available in the in the protocol stack buffer, the method will complete immediately and throw a . Receives data from a bound into a receive buffer. The to read from. An array of type that is the storage location for the received data. The position in parameter to store the received data. The number of bytes to receive. The maximum time to wait until bytes have been received. The number of bytes received. If no data is available for reading, the method will block until data is available or the time-out value is exceeded. If the time-out value is exceeded, the call will throw a . If you are in non-blocking mode, and there is no data available in the in the protocol stack buffer, the method will complete immediately and throw a . Creates and starts a long-running for the specified . The to start. is . A task that represents the execution of the specified . Executes the specified action in a separate thread. The action to execute. Base class for all supported authentication methods. Gets the name of the authentication method. The name of the authentication method. Gets connection username. Gets or sets the list of allowed authentications. Initializes a new instance of the class. The username. is whitespace or . Authenticates the specified session. The session to authenticate. The result of the authentication process. Authenticates the specified session. The session to authenticate. The result of the authentication process. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents possible authentication methods results. Authentication was successful. Authentication completed with partial success. Authentication failed. Serves as base class for client implementations, provides common client functionality. Holds value indicating whether the connection info is owned by this client. Gets the current session. The current session. Gets the factory for creating new services. The factory for creating new services. Gets the connection info. The connection info. The method was called after the client was disposed. Gets a value indicating whether this client is connected to the server. if this client is connected; otherwise, . The method was called after the client was disposed. Gets or sets the keep-alive interval. The keep-alive interval. Specify negative one (-1) milliseconds to disable the keep-alive. This is the default value. The method was called after the client was disposed. Occurs when an error occurred. Occurs when host key received. Occurs when server identification received. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. is . If is , then the connection info will be disposed when this instance is disposed. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. The factory to use for creating new services. is . is . If is , then the connection info will be disposed when this instance is disposed. Connects client to the server. The client is already connected. The method was called after the client was disposed. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Asynchronously connects client to the server. The to observe. A that represents the asynchronous connect operation. The client is already connected. The method was called after the client was disposed. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Disconnects client from the server. The method was called after the client was disposed. Sends a keep-alive message to the server. Use to configure the client to send a keep-alive at regular intervals. The method was called after the client was disposed. Called when client is connecting to the server. Called when client is connected to the server. Called when client is disconnecting from the server. Called when client is disconnected from the server. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Check if the current instance is disposed. The current instance is disposed. Stops the keep-alive timer, and waits until all timer callbacks have been executed. Starts the keep-alive timer. When is negative one (-1) milliseconds, then the timer will not be started. Creates a with the specified due time and interval. The amount of time to delay before the keep-alive message is first sent. Specify negative one (-1) milliseconds to prevent the timer from starting. Specify zero (0) to start the timer immediately. The time interval between attempts to send a keep-alive message. Specify negative one (-1) milliseconds to disable periodic signaling. A with the specified due time and interval. Disposes the SSH session, and assigns to . Returns a value indicating whether the SSH session is established. if the SSH session is established; otherwise, . Represents base class for SSH channel implementations. Holds a value indicating whether the SSH_MSG_CHANNEL_CLOSE has been sent to the remote party. when a SSH_MSG_CHANNEL_CLOSE message has been sent to the other party; otherwise, . Holds a value indicating whether a SSH_MSG_CHANNEL_CLOSE has been received from the other party. when a SSH_MSG_CHANNEL_CLOSE message has been received from the other party; otherwise, . Holds a value indicating whether the SSH_MSG_CHANNEL_EOF has been received from the other party. when a SSH_MSG_CHANNEL_EOF message has been received from the other party; otherwise, . Holds a value indicating whether the SSH_MSG_CHANNEL_EOF has been sent to the remote party. when a SSH_MSG_CHANNEL_EOF message has been sent to the remote party; otherwise, . Occurs when an exception is thrown when processing channel messages. Initializes a new instance of the class. The session. The local channel number. Size of the window. Size of the packet. Gets the session. The session. Gets the type of the channel. The type of the channel. Gets the local channel number. The local channel number. Gets the maximum size of a data packet that we can receive using the channel. The maximum size of a packet. This is the maximum size (in bytes) we support for the data (payload) of a SSH_MSG_CHANNEL_DATA message we receive. We currently do not enforce this limit. Gets the size of the local window. The size of the local window. Gets the remote channel number. The remote channel number. Gets the maximum size of a data packet that we can send using the channel. The maximum size of data that can be sent using a on the current channel. The channel has not been opened, or the open has not yet been confirmed. Gets the window size of the remote server. The size of the server window. Gets or sets a value indicating whether this channel is open. if this channel is open; otherwise, . Occurs when is received. Occurs when is received. Occurs when is received. Occurs when is received. Occurs when is received. Occurs when is received. Occurs when is received. Gets a value indicating whether the session is connected. if the session is connected; otherwise, . Gets the connection info. The connection info. Gets the session semaphore to control number of session channels. The session semaphore. Initializes the information on the remote channel. The remote channel number. The remote window size. The remote packet size. Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. The payload to send. Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. An array of containing the payload to send. The zero-based offset in at which to begin taking data from. The number of bytes of to send. When the size of the data to send exceeds the maximum packet size or the remote window size does not allow the full data to be sent, then this method will send the data in multiple chunks and will wait for the remote window size to be adjusted when it's zero. This is done to support SSH servers will a small window size that do not aggressively increase their window size. We need to take into account that there may be SSH servers that only increase their window size when it has reached zero. Called when channel window need to be adjust. The bytes to add. Called when channel data is received. The data. Called when channel extended data is received. The data. The data type code. Called when channel has no more data to receive. Called when channel is closed by the server. Called when channel request received. Channel request information. Called when channel request was successful. Called when channel request failed. Raises event. The exception. Sends a message to the server. The message to send. if the message was sent to the server; otherwise, . The size of the packet exceeds the maximum size defined by the protocol. This methods returns when the attempt to send the message results in a or a . Sends SSH message to the server. The message. Sends a SSH_MSG_CHANNEL_EOF message to the remote server. The channel is closed. Waits for the handle to be signaled or for an error to occurs. The wait handle. Closes the channel, waiting for the SSH_MSG_CHANNEL_CLOSE message to be received from the server. Called when an occurs while processing a channel message. The . This method will in turn invoke , and raise the event. Determines the length of data that currently can be sent in a single message. The length of the message that must be sent. The actual data length that currently can be sent. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Implements "direct-tcpip" SSH channel. Initializes a new instance of the class. The session. The local channel number. Size of the window. Size of the packet. Gets the type of the channel. The type of the channel. Occurs as the forwarded port is being stopped. Binds channel to remote host. Closes the socket, hereby interrupting the blocking receive in . Shuts down the socket. One of the values that specifies the operation that will no longer be allowed. Closes the channel, waiting for the SSH_MSG_CHANNEL_CLOSE message to be received from the server. Called when channel data is received. The data. Called when channel is opened by the server. The remote channel number. Initial size of the window. Maximum size of the packet. Called when channel has no more data to receive. Called whenever an unhandled occurs in causing the message loop to be interrupted, or when an exception occurred processing a channel message. Called when the server wants to terminate the connection immediately. The sender MUST NOT send or receive any data after this message, and the recipient MUST NOT accept any data after receiving this message. Implements "forwarded-tcpip" SSH channel. Initializes a new instance of the class. The session. The local channel number. Size of the window. Size of the packet. The remote channel number. The window size of the remote party. The maximum size of a data packet that we can send to the remote party. Gets the type of the channel. The type of the channel. Binds the channel to the specified endpoint. The endpoint to connect to. The forwarded port for which the channel is opened. Occurs as the forwarded port is being stopped. Shuts down the socket. One of the values that specifies the operation that will no longer be allowed. Closes the socket, hereby interrupting the blocking receive in . Closes the channel waiting for the SSH_MSG_CHANNEL_CLOSE message to be received from the server. Called when channel data is received. The data. Implements Session SSH channel. Counts failed channel open attempts. Holds a value indicating whether the session semaphore has been obtained by the current channel. 0 when the session semaphore has not been obtained or has already been released, and 1 when the session has been obtained and still needs to be released. Wait handle to signal when response was received to open the channel. Initializes a new instance of the class. The session. The local channel number. Size of the window. Size of the packet. Gets the type of the channel. The type of the channel. Opens the channel. Called when channel is opened by the server. The remote channel number. Initial size of the window. Maximum size of the packet. Called when channel failed to open. The reason code. The description. The language. Sends the pseudo terminal request. The environment variable. The columns. The rows. The width. The height. The terminal mode values. if request was successful; otherwise . Sends the X11 forwarding request. if set to the it is single connection. The protocol. The cookie. The screen number. if request was successful; otherwise . Sends the environment variable request. Name of the variable. The variable value. if request was successful; otherwise . Sends the shell request. if request was successful; otherwise . Sends the exec request. The command. if request was successful; otherwise . Sends the exec request. Length of the break. if request was successful; otherwise . Sends the subsystem request. The subsystem. if request was successful; otherwise . Sends the window change request. The columns. The rows. The width. The height. Sends the local flow request. if set to [client can do]. Sends the signal request. Name of the signal. if request was successful; otherwise . Sends eow@openssh.com request. if request was successful; otherwise . Sends keepalive@openssh.com request. if request was successful; otherwise . Called when channel request was successful. Called when channel request failed. Sends the channel open message. The client is not connected. The operation timed out. The size of the packet exceeds the maximum size defined by the protocol. When a session semaphore for this instance has not yet been obtained by this or any other thread, the thread will block until such a semaphore is available and send a to the remote host. Note that the session semaphore is released in any of the following cases: A is received for the channel being opened. The remote host does not respond to the within the configured . The remote host closes the channel. The is disposed. A socket error occurs sending a message to the remote host. If the session semaphore was already obtained for this instance (and not released), then this method immediately returns control to the caller. This should only happen when another thread has obtain the session semaphore and already sent the , but the remote host did not confirmed or rejected attempt to open the channel. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Releases the session semaphore. When the session semaphore has already been released, or was never obtained by this instance, then this method does nothing. Lists channel types as defined by the protocol. Session. X11. Forwarded-tcpip. Direct-tcpip. Initializes a new instance of the class. The session. The local channel number. Size of the window. Size of the packet. Occurs when is received. Occurs when is received. Called when channel is opened by the server. The remote channel number. Initial size of the window. Maximum size of the packet. Send message to open a channel. Message to send. The client is not connected. The operation timed out. The size of the packet exceeds the maximum size defined by the protocol. Called when channel failed to open. The reason code. The description. The language. Unsubscribes the current from session events. The session. Does nothing when is . Represents SSH channel. Occurs when is received. Occurs when an exception is thrown when processing channel messages. Occurs when is received. Occurs when is received. Occurs when is received. Gets the local channel number. The local channel number. Gets the maximum size of a data packet that we can receive using the channel. The maximum size of a packet. This is the maximum size (in bytes) we support for the data (payload) of a SSH_MSG_CHANNEL_DATA message we receive. We currently do not enforce this limit. Gets the remote channel number. Gets the maximum size of a data packet that can be sent using the channel. The maximum size of data that can be sent using a on the current channel. The channel has not been opened, or the open has not yet been confirmed. Gets a value indicating whether this channel is open. if this channel is open; otherwise, . Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. The payload to send. Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. An array of containing the payload to send. The zero-based offset in at which to begin taking data from. The number of bytes of to send. When the size of the data to send exceeds the maximum packet size or the remote window size does not allow the full data to be sent, then this method will send the data in multiple chunks and will wait for the remote window size to be adjusted when it's zero. This is done to support SSH servers will a small window size that do not aggressively increase their window size. We need to take into account that there may be SSH servers that only increase their window size when it has reached zero. Sends a SSH_MSG_CHANNEL_EOF message to the remote server. The channel is closed. A "direct-tcpip" SSH channel. Occurs when an exception is thrown while processing channel messages. Gets a value indicating whether this channel is open. if this channel is open; otherwise, . Gets the local channel number. The local channel number. Opens a channel for a locally forwarded TCP/IP port. The name of the remote host to forward to. The port of the remote hosts to forward to. The forwarded port for which the channel is opened. The socket to receive requests from, and send responses from the remote host to. Binds the channel to the remote host. A "forwarded-tcpip" SSH channel. Occurs when an exception is thrown while processing channel messages. Binds the channel to the specified endpoint. The endpoint to connect to. The forwarded port for which the channel is opened. Session SSH channel. Opens the channel. Sends the pseudo terminal request. The environment variable. The columns. The rows. The width. The height. The terminal mode values. if request was successful; otherwise . Sends the X11 forwarding request. if set to the it is single connection. The protocol. The cookie. The screen number. if request was successful; otherwise . Sends the environment variable request. Name of the variable. The variable value. if request was successful; otherwise . Sends the shell request. if request was successful; otherwise . Sends the exec request. The command. if request was successful; otherwise . Sends the exec request. Length of the break. if request was successful; otherwise . Sends the subsystem request. The subsystem. if request was successful; otherwise . Sends the window change request. The columns. The rows. The width. The height. Sends the local flow request. if set to [client can do]. Sends the signal request. Name of the signal. if request was successful; otherwise . Sends eow@openssh.com request. if request was successful; otherwise . Sends keepalive@openssh.com request. if request was successful; otherwise . Initializes a new instance of the class. The session. The local channel number. Size of the window. Size of the packet. The remote channel number. The window size of the remote party. The maximum size of a data packet that we can send to the remote party. Holds information about key size and cipher to use. Gets the size of the key. The size of the key. Gets a value indicating whether the cipher is AEAD (Authenticated Encryption with Associated data). to indicate the cipher is AEAD, to indicate the cipher is not AEAD. Gets the cipher. Initializes a new instance of the class. Size of the key. The cipher. to indicate the cipher is AEAD, to indicate the cipher is not AEAD. Represents a mechanism to authenticate a given client. Initializes a new instance of the class. The number of times an authentication attempt with any given can result in before it is disregarded. is less than one. Gets the number of times an authentication attempt with any given can result in before it is disregarded. The number of times an authentication attempt with any given can result in before it is disregarded. Attempts to perform authentication for a given using the of the specified . A to use for authenticating. The for which to perform authentication. or is . Failed to authenticate the client. Records if a given has been tried, and how many times this resulted in . When there's no entry for a given , then it was never tried. Holds the list of authentications methods that failed. Records a authentication attempt for the specified . An for which to record the result of an authentication attempt. Records a authentication attempt for the specified . An for which to record the result of an authentication attempt. Returns the number of times an authentication attempt with the specified has resulted in . An . The number of times an authentication attempt with the specified has resulted in . Returns a list of supported authentication methods that match one of the specified allowed authentication methods. A list of allowed authentication methods. A list of supported authentication methods that match one of the specified allowed authentication methods. The authentication methods are returned in the order in which they were specified in the list that was used to initialize the current instance. Returns the authentication methods from the specified list that have not yet failed. A list of authentication methods. The authentication methods from that have not yet failed. This method first returns the authentication methods that have not yet been executed, and only then returns those for which an authentication attempt resulted in a . Any that has failed is skipped. Base class to encapsulates the results of an asynchronous operation. Initializes a new instance of the class. The async callback. The state. Gets a value indicating whether has been called on the current . if has been called on the current ; otherwise, . Marks asynchronous operation as completed. The exception. If set to , completed synchronously. Waits until the asynchronous operation completes, and then returns. Gets a user-defined object that qualifies or contains information about an asynchronous operation. A user-defined object that qualifies or contains information about an asynchronous operation. Gets a value indicating whether the asynchronous operation completed synchronously. if the asynchronous operation completed synchronously; otherwise, . Gets a that is used to wait for an asynchronous operation to complete. A that is used to wait for an asynchronous operation to complete. Gets a value indicating whether the asynchronous operation has completed. if the operation is complete; otherwise, . Base class to encapsulates the results of an asynchronous operation that returns result. The type of the result. Initializes a new instance of the class. The async callback. The state. Marks asynchronous operation as completed. The result. if set to [completed synchronously]. Waits until the asynchronous operation completes, and then returns the value generated by the asynchronous operation. The invocation result. Provides data for event. Gets banner message. Gets banner language. Initializes a new instance of the class. The username. Banner message. Banner language. Base class for authentication events. Initializes a new instance of the class. The username. Gets the username. Provides data for event. Initializes a new instance of the class. The username. Gets or sets the new password. The new password. Provides prompt information when is raised. Initializes a new instance of the class. The sequence id. if set to the user input should be echoed. The request. Gets the prompt sequence id. Gets a value indicating whether the user input should be echoed as characters are typed. if the user input should be echoed as characters are typed; otherwise, . Gets server information request. Gets or sets server information response. The response. Provides data for event. Initializes a new instance of the class. The username. The instruction. The language. The information request prompts. Gets prompt language. Gets prompt instruction. Gets server information request prompts. Provides data for event. Initializes a new instance of the class. Channel number. Channel data. is . Gets channel data. Base class for all channel related events. Initializes a new instance of the class. The channel number. Gets the channel number. The channel number. Provides data for events. Initializes a new instance of the class. Channel number. Channel data. Channel data type code. Gets the data type code. The data type code. ChannelInputStream is a one direction stream intended for channel data. Channel to send data to. Total bytes passed through the stream. Indicates whether the current instance was disposed. When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. An I/O error occurs. Methods were called after the stream was closed. Once flushed, any subsequent read operations no longer block until requested bytes are available. Any write operation reactivates blocking reads. When overridden in a derived class, sets the position within the current stream. The new position within the current stream. A byte offset relative to the origin parameter. A value of type indicating the reference point used to obtain the new position. The stream does not support seeking, such as if the stream is constructed from a pipe or console output. When overridden in a derived class, sets the length of the current stream. The desired length of the current stream in bytes. The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the stream is closed or end of the stream has been reached. An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. The zero-based byte offset in buffer at which to begin storing the data read from the current stream. The maximum number of bytes to be read from the current stream. The sum of offset and count is larger than the buffer length. Methods were called after the stream was closed. The stream does not support reading. is . An I/O error occurs. offset or count is negative. When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. An array of bytes. This method copies count bytes from buffer to the current stream. The zero-based byte offset in buffer at which to begin copying bytes to the current stream. The number of bytes to be written to the current stream. An I/O error occurs. The stream does not support writing. Methods were called after the stream was closed. is . The sum of offset and count is greater than the buffer length. offset or count is negative. Releases the unmanaged resources used by the Stream and optionally releases the managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Gets a value indicating whether the current stream supports reading. if the stream supports reading; otherwise, . Gets a value indicating whether the current stream supports seeking. if the stream supports seeking; otherwise, . Gets a value indicating whether the current stream supports writing. if the stream supports writing; otherwise, . Throws . Always. Gets the position within the current stream. The current position within the stream. The setter is called. Provides data for event. Initializes a new instance of the class. The remote channel number. The initial window size. The maximum packet size. Gets the initial size of the window. The initial size of the window. Gets the maximum size of the packet. The maximum size of the packet. Provides data for event. Initializes a new instance of the class. Channel number. Failure reason code. Failure description. Failure language. Gets failure reason code. Gets failure description. Gets failure language. Provides data for event. Initializes a new instance of the class. Request information. is . Gets the request information. The request information. Provides data for the ErrorOccurred events. Initializes a new instance of the class. An System.Exception that represents the error that occurred. Gets the that represents the error that occurred. The that represents the error that occurred. Collection of different extension methods. Initializes a new instance of the structure using the SSH BigNum2 Format. Sets a wait handle, swallowing any resulting . Used in cases where set and dispose may race. The wait handle to set. Returns a specified number of contiguous bytes from a given offset. The array to return a number of bytes from. The zero-based offset in at which to begin taking bytes. The number of bytes to take from . A array that contains the specified number of bytes at the specified offset of the input array. is . When is zero and equals the length of , then is returned. Returns a specified number of contiguous bytes from the start of the specified byte array. The array to return a number of bytes from. The number of bytes to take from . A array that contains the specified number of bytes at the start of the input array. is . When equals the length of , then is returned. Trims the leading zero from a byte array. The value. without leading zeros. Pads with leading zeros if needed. The data. The length to pad to. Provides data for the HostKeyReceived event. Gets or sets a value indicating whether host key can be trusted. if host key can be trusted; otherwise, . Gets the host key. Gets the host key name. Gets the MD5 fingerprint. MD5 fingerprint as byte array. Gets the SHA256 fingerprint of the host key in the same format as the ssh command, i.e. non-padded base64, but without the SHA256: prefix. ohD8VZEXGWo6Ez8GSEJQ9WpafgLFsOfLOtGGQCQo6Og. Base64 encoded SHA256 fingerprint with padding (equals sign) removed. Gets the MD5 fingerprint of the host key in the same format as the ssh command, i.e. hexadecimal bytes separated by colons, but without the MD5: prefix. 97:70:33:82:fd:29:3a:73:39:af:6a:07:ad:f8:80:49. Gets the length of the key in bits. The length of the key in bits. Gets the certificate presented by the host, or if the host did not present a certificate. Initializes a new instance of the class. The host. is . The exception that is thrown when there is something wrong with the server capabilities. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. PipeStream is a thread-safe read/write data stream for use between two threads in a single-producer/single-consumer type problem. This method always throws . A byte offset relative to the parameter. A value of type indicating the reference point used to obtain the new position. Never. Always. This method always throws . The desired length of the current stream in bytes. Always. This method does nothing. This method does nothing. Unobserved cancellation token. . Gets a value indicating whether the current stream supports reading. . It is safe to read from even after disposal. Gets a value indicating whether the current stream supports seeking. . Gets a value indicating whether the current stream supports writing. if this stream has not been disposed and the underlying channel is still open, otherwise . A value of does not necessarily mean a write will succeed. It is possible that the stream is disposed by another thread between a call to and the call to write. Gets the number of bytes currently available for reading. A long value representing the length of the stream in bytes. This property always returns 0, and throws when calling the setter. 0. The setter is called. Provides data for event. Initializes a new instance of the class. The host. The port. is . is not within and . Gets request originator host. Gets request originator port. Represents a POSIX path. Gets the directory of the path. The directory of the path. Gets the file part of the path. The file part of the path, or if the path represents a directory. Create a from the specified path. The path. A created from the specified path. is . is empty (""). Gets the file name part of a given POSIX path. The POSIX path to get the file name for. The file name part of . is . If contains no forward slash, then is returned. If path has a trailing slash, return a zero-length string. Gets the directory name part of a given POSIX path. The POSIX path to get the directory name for. The directory part of the specified , or . if does not contain any directory information. is . The exception that is thrown when a proxy connection cannot be established. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Provides data for the Downloading event. Initializes a new instance of the class. The downloaded filename. The downloaded file size. The number of downloaded bytes so far. Gets the downloaded filename. Gets the downloaded file size. Gets number of downloaded bytes so far. The exception that is thrown when an SCP error occurs. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Provides data for the Uploading event. Initializes a new instance of the class. The uploaded filename. The uploaded file size. The number of uploaded bytes so far. Gets the uploaded filename. Gets the uploaded file size. Gets number of uploaded bytes so far. The exception that is thrown when an error occurs in the SFTP layer. Gets the status code that is associated with this exception. Initializes a new instance of the class. The status code that indicates the error that occurred. Initializes a new instance of the class. The status code that indicates the error that occurred. The error message that explains the reason for the exception. Initializes a new instance of the class. The status code that indicates the error that occurred. The error message that explains the reason for the exception. The exception that is the cause of the current exception. The exception that is thrown when file or directory is not found. Gets the path that cannot be found. The path that cannot be found, or if no path was passed to the constructor for this instance. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. The error message that explains the reason for the exception. The path that cannot be found. The exception that is the cause of the current exception. The exception that is thrown when operation permission is denied. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Provides data for Shell DataReceived event. Initializes a new instance of the class. The data. Initializes a new instance of the class. The line. Gets the data. Gets the line data. The exception that is thrown when authentication failed. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The inner exception. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is . The class name is or is zero (0). The exception that is thrown when connection was terminated. Gets the disconnect reason if provided by the server or client. Otherwise None. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The disconnect reason code. Initializes a new instance of the class. The message. The inner. Initializes a new instance of the class. The message. The disconnect reason code. The inner. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is . The class name is or is zero (0). Base ssh data serialization type. Gets the underlying that is used for reading and writing SSH data. The underlying that is used for reading and writing SSH data. Gets a value indicating whether all data from the buffer has been read. if this instance is end of data; otherwise, . Gets the size of the message in bytes. The size of the messages in bytes. Gets data bytes array. A array representation of data structure. Writes the current message to the specified . The to write the message to. Loads data from specified bytes. Bytes array. is . Loads data from the specified buffer. Bytes array. The zero-based offset in at which to begin reading SSH data. The number of bytes to load. is . Called when type specific data need to be loaded. Called when type specific data need to be saved. Reads all data left in internal buffer at current position. An array of bytes containing the remaining data in the internal buffer. Reads next specified number of bytes data type from internal buffer. Number of bytes to read. An array of bytes that was read from the internal buffer. is greater than the number of bytes available to be read. Reads next byte data type from internal buffer. The read. Attempt to read past the end of the stream. Reads the next from the internal buffer. The that was read. Attempt to read past the end of the stream. Reads the next from the internal buffer. The that was read. Attempt to read past the end of the stream. Reads the next from the internal buffer. The that was read. Attempt to read past the end of the stream. Reads the next from the internal buffer. The that was read. Attempt to read past the end of the stream. Reads the next from the internal buffer using the specified encoding. The character encoding to use. The that was read. Reads a length-prefixed byte array from the internal buffer. The bytes read. Reads a length-prefixed byte array from the internal buffer, returned as a view over the buffer. When using this method, consider whether the underlying buffer is shared or reused, and whether the returned may exist beyond the lifetime for which it is valid to be used. Reads next name-list data type from internal buffer. String array or read data. Reads next extension-pair data type from internal buffer. Extensions pair dictionary. Writes bytes array data into internal buffer. Byte array data to write. is . Writes a sequence of bytes to the current SSH data stream and advances the current position within this stream by the number of bytes written. An array of bytes. This method write bytes from buffer to the current SSH data stream. The zero-based offset in at which to begin writing bytes to the SSH data stream. The number of bytes to be written to the current SSH data stream. is . The sum of and is greater than the buffer length. or is negative. Writes data into internal buffer. data to write. Writes into internal buffer. data to write. Writes data into internal buffer. data to write. Writes data into internal buffer. data to write. Writes data into internal buffer using default encoding. data to write. is . Writes data into internal buffer using the specified encoding. data to write. The character encoding to use. is . is . Writes mpint data into internal buffer. mpint data to write. Writes name-list data into internal buffer. name-list data to write. Writes extension-pair data into internal buffer. extension-pair data to write. Writes data into internal buffer. The data to write. is . Writes data into internal buffer. An array of bytes. This method write bytes from buffer to the current SSH data stream. The zero-based byte offset in at which to begin writing bytes to the SSH data stream. The number of bytes to be written to the current SSH data stream. is . The sum of and is greater than the buffer length. or is negative. Specialized for reading and writing data SSH data. Initializes a new instance of the class with an expandable capacity initialized as specified. The initial size of the internal array in bytes. Initializes a new instance of the class for the specified byte array. The array of unsigned bytes from which to create the current stream. is . Initializes a new instance of the class for the specified byte array. The array of unsigned bytes from which to create the current stream. The zero-based offset in at which to begin reading SSH data. The number of bytes to load. is . Gets a value indicating whether all data from the SSH data stream has been read. if this instance is end of data; otherwise, . Writes an to the SSH data stream. data to write. Writes an to the SSH data stream. data to write. Writes a into the SSH data stream. The to write. Writes bytes array data into the SSH data stream. Byte array data to write. is . Writes string data to the SSH data stream using the specified encoding. The string data to write. The character encoding to use. is . is . Reads a length-prefixed byte array from the SSH data stream. The byte array read from the SSH data stream. Reads a length-prefixed byte array from the SSH data stream, returned as a view over the underlying buffer. Gets a view over the remaining data in the underlying buffer. Writes a buffer preceded by its length into the SSH data stream. The data to write. is . Writes a buffer preceded by its length into the SSH data stream. An array of bytes. This method write bytes from buffer to the current SSH data stream. The zero-based byte offset in at which to begin writing bytes to the SSH data stream. The number of bytes to be written to the current SSH data stream. is . The sum of and is greater than the buffer length. or is negative. Reads a from the SSH data stream. The read from the SSH data stream. Reads the next data type from the SSH data stream. The read from the SSH data stream. Reads the next data type from the SSH data stream. The read from the SSH data stream. Reads the next data type from the SSH data stream. The read from the SSH data stream. Reads the next data type from the SSH data stream. The character encoding to use. Defaults to . The read from the SSH data stream. Retrieves the stream contents as a byte array, regardless of the . This method returns the contents of the as a byte array. If the current instance was constructed on a provided byte array, a copy of the section of the array to which this instance has access is returned. Reads next specified number of bytes data type from internal buffer. Number of bytes to read. An array of bytes that was read from the internal buffer. is greater than the internal buffer size. The exception that is thrown when an SSH exception occurs. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Provides data for the ServerIdentificationReceived events. Initializes a new instance of the class. The SSH identification. Gets the SSH identification. The exception that is thrown when operation is timed out. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The inner exception. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is . The class name is or is zero (0). The exception that is thrown when pass phrase for key file is empty or . Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The inner exception. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is . The class name is or is zero (0). Specifies the initial assignments of the opcode values that are used in the 'encoded terminal modes' value. Indicates end of options. Interrupt character; 255 if none. Similarly for the other characters. Not all of these characters are supported on all systems. The quit character (sends SIGQUIT signal on POSIX systems). Erase the character to left of the cursor. Kill the current input line. End-of-file character (sends EOF from the terminal). End-of-line character in addition to carriage return and/or linefeed. Additional end-of-line character. Continues paused output (normally control-Q). Pauses output (normally control-S). Suspends the current program. Another suspend character. Reprints the current input line. Erases a word left of cursor. Enter the next character typed literally, even if it is a special character. Character to flush output. Switch to a different shell layer. Prints system status line (load, command, pid, etc). Toggles the flushing of terminal output. The ignore parity flag. The parameter SHOULD be 0 if this flag is FALSE, and 1 if it is TRUE. Mark parity and framing errors. Enable checking of parity errors. Strip 8th bit off characters. Map NL into CR on input. Ignore CR on input. Map CR to NL on input. Translate uppercase characters to lowercase. Enable output flow control. Any char will restart after stop. Enable input flow control. Ring bell on input queue full. Terminal input and output is assumed to be encoded in UTF-8. Enable signals INTR, QUIT, [D]SUSP. Canonicalize input lines. Enable input and output of uppercase characters by preceding their lowercase equivalents with "\". Enable echoing. Visually erase chars. Kill character discards current line. Echo NL even if ECHO is off. Don't flush after interrupt. Stop background jobs from output. Enable extensions. Echo control characters as ^(Char). Visual erase for line kill. Retype pending input. Enable output processing. Convert lowercase to uppercase. Map NL to CR-NL. Translate carriage return to newline (output). Translate newline to carriage return-newline (output). Newline performs a carriage return (output). 7 bit mode. 8 bit mode. Parity enable. Odd parity, else even. Specifies the input baud rate in bits per second. Specifies the output baud rate in bits per second. Provides extension methods for . Returns the specified as a valid timeout in milliseconds. The to ensure validity. The name of the calling member. Thrown when does not represent a value between -1 and , inclusive. Ensures that the specified represents a valid timeout in milliseconds. The to ensure validity. The name of the calling member. Thrown when does not represent a value between -1 and , inclusive. Represents base class for compression algorithm implementation. Initializes a new instance of the class. to start compression after receiving SSH_MSG_NEWKEYS. to delay compression until SSH_MSG_USERAUTH_SUCCESS is received. See . Initializes the algorithm. The session. Compresses the specified data. Data to compress. The compressed data. Compresses the specified data. Data to compress. The zero-based byte offset in at which to begin reading the data to compress. The number of bytes to be compressed. The compressed data. Compresses the specified data. Data to compress. The zero-based byte offset in at which to begin reading the data to compress. The number of bytes to be compressed. The compressed data. Decompresses the specified data. Compressed data. The decompressed data. Decompresses the specified data. Compressed data. The zero-based byte offset in at which to begin reading the data to decompress. The number of bytes to be read from the compressed data. The decompressed data. Decompresses the specified data. Compressed data. The zero-based byte offset in at which to begin reading the data to decompress. The number of bytes to be read from the compressed data. The decompressed data. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents the "zlib" compression algorithm. Initializes a new instance of the class. Initializes a new instance of the class. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents the "zlib@openssh.com" compression algorithm. Initializes a new instance of the class. Represents remote connection information class. This class is NOT thread-safe. Do not use the same with multiple client instances. The default connection timeout. 30 seconds. The default channel close timeout. 1 second. Gets supported key exchange algorithms for this connection. Gets supported encryptions for this connection. Gets supported hash algorithms for this connection. Gets supported host key algorithms for this connection. Gets supported authentication methods for this connection. Gets supported compression algorithms for this connection. Gets the supported channel requests for this connection. The supported channel requests for this connection. Gets a value indicating whether connection is authenticated. if connection is authenticated; otherwise, . Gets connection host. The connection host. Gets connection port. The connection port. The default value is 22. Gets connection username. Gets proxy type. The type of the proxy. Gets proxy connection host. Gets proxy connection port. Gets proxy connection username. Gets proxy connection password. Gets or sets connection timeout. The connection timeout. The default value is 30 seconds. Gets or sets the timeout to use when waiting for a server to acknowledge closing a channel. The channel close timeout. The default value is 1 second. If a server does not send a SSH_MSG_CHANNEL_CLOSE message before the specified timeout elapses, the channel will be closed immediately. Gets or sets the character encoding. The character encoding. The default is . Gets or sets number of retry attempts when session channel creation failed. The number of retry attempts when session channel creation failed. The default value is 10. Gets or sets maximum number of session channels to be open simultaneously. The maximum number of session channels to be open simultaneously. The default value is 10. Occurs when authentication banner is sent by the server. Gets the current key exchange algorithm. Gets the current server encryption. Gets the current client encryption. Gets the current server hash algorithm. Gets the current client hash algorithm. Gets the current host key algorithm. Gets the current server compression algorithm. Gets the server version. Gets the client version. Gets the current client compression algorithm. Initializes a new instance of the class. The host. The username. The authentication methods. is . is a zero-length string. is , a zero-length string or contains only whitespace characters. is . No specified. Initializes a new instance of the class. The host. The port. The username. The authentication methods. is . is , a zero-length string or contains only whitespace characters. is not within and . is . No specified. Initializes a new instance of the class. Connection host. Connection port. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. The authentication methods. is . is , a zero-length string or contains only whitespace characters. is not within and . is not and is . is not and is not within and . is . No specified. Authenticates the specified session. The session to be authenticated. The factory to use for creating new services. is . is . No suitable authentication method found to complete authentication, or permission denied. Signals that an authentication banner message was received from the server. The session in which the banner message was received. The banner message. Creates a none authentication method. A none authentication method. Gets the supported authentication methods for this connection. The supported authentication methods for this connection. Gets or sets logger factory for this connection. The logger factory for this connection. If then is used. Establishes a socket connection to the specified endpoint. The representing the server to connect to. The maximum time to wait for the connection to be established. The connection failed to establish within the configured . An error occurred trying to establish the connection. Establishes a socket connection to the specified endpoint. The representing the server to connect to. The cancellation token to observe. The connection failed to establish within the configured . An error occurred trying to establish the connection. Performs a blocking read on the socket until bytes are received. The to read from. An array of type that is the storage location for the received data. The position in parameter to store the received data. The number of bytes to read. The number of bytes read. The socket is closed. The read failed. Performs a blocking read on the socket until bytes are received. The to read from. An array of type that is the storage location for the received data. The position in parameter to store the received data. The number of bytes to read. The maximum time to wait until bytes have been received. The number of bytes read. The socket is closed. The read has timed-out. The read failed. Establishes a tunnel via an HTTP proxy server. Specification URL HTTP CONNECT method https://tools.ietf.org/html/rfc7231#section-4.3.6 HTTP Authentication: Basic and Digest Access Authentication https://tools.ietf.org/html/rfc2617 Performs a blocking read on the socket until a line is read. The to read from. A that represents the time to wait until a line is read. The read has timed-out. An error occurred when trying to access the socket. The line read from the socket, or when the remote server has shutdown and all data has been received. Represents a means to connect to a SSH endpoint. Connects to a SSH endpoint using the specified . The to use to establish a connection to a SSH endpoint. A connected to the SSH endpoint represented by the specified . Asynchronously connects to a SSH endpoint using the specified . The to use to establish a connection to a SSH endpoint. The token to monitor for cancellation requests. A connected to the SSH endpoint represented by the specified . Handles the SSH protocol version exchange. Performs the SSH protocol version exchange. The identification string of the SSH client. A connected to the server. The maximum time to wait for the server to respond. The SSH identification of the server. Asynchronously performs the SSH protocol version exchange. The identification string of the SSH client. A connected to the server. The token to monitor for cancellation requests. A task that represents the SSH protocol version exchange. The value of its contains the SSH identification of the server. Represents a factory to create instances. Creates a with the specified and that does not use the Nagle algorithm. The . The . The . Handles the SSH protocol version exchange. https://tools.ietf.org/html/rfc4253#section-4.2. Performs the SSH protocol version exchange. The identification string of the SSH client. A connected to the server. The maximum time to wait for the server to respond. The SSH identification of the server. Asynchronously performs the SSH protocol version exchange. The identification string of the SSH client. A connected to the server. The token to monitor for cancellation requests. A task that represents the SSH protocol version exchange. The value of its contains the SSH identification of the server. Performs a blocking read on the socket until a line is read. The to read from. A that represents the time to wait until a line is read. A to which read bytes will be added. The read has timed-out. An error occurred when trying to access the socket. The line read from the socket, or when the remote server has shutdown and all data has been received. Represents a connector that uses a proxy server to establish a connection to a given SSH endpoint. Connects to a SSH endpoint using the specified . The to use to establish a connection to a SSH endpoint. A connected to the SSH endpoint represented by the specified . Asynchronously connects to a SSH endpoint using the specified . The to use to establish a connection to a SSH endpoint. The token to monitor for cancellation requests. A connected to the SSH endpoint represented by the specified . Represents a factory to create instances. Establishes a tunnel via a SOCKS4 proxy server. https://www.openssh.com/txt/socks4.protocol. Establishes a connection to the server via a SOCKS5 proxy. The connection information. The . Establishes a tunnel via a SOCKS5 proxy server. https://en.wikipedia.org/wiki/SOCKS#SOCKS5. Establishes a connection to the server via a SOCKS5 proxy. The connection information. The . https://tools.ietf.org/html/rfc1929. Represents an SSH identification. Initializes a new instance of the class with the specified protocol version and software version. The SSH protocol version. The software version of the implementation. is . is . Initializes a new instance of the class with the specified protocol version, software version and comments. The SSH protocol version. The software version of the implementation. The comments. is . is . Gets the software version of the implementation. The software version of the implementation. This is primarily used to trigger compatibility extensions and to indicate the capabilities of an implementation. Gets the SSH protocol version. The SSH protocol version. Gets the comments. The comments, or if there are no comments. should contain additional information that might be useful in solving user problems. Returns the SSH identification string. The SSH identification string. Specifies behavior for expected expression. Gets the expected regular expression. Gets the action to perform when expected expression is found. Initializes a new instance of the class. The expect regular expression. The action to perform. or is . Initializes a new instance of the class. The expect expression. The action to perform. or is . Base class for port forwarding functionality. Gets or sets the session. The session. Gets a value indicating whether port forwarding is started. if port forwarding is started; otherwise, . The event occurs as the forwarded port is being stopped. Occurs when an exception is thrown. Occurs when a port forwarding request is received. Starts port forwarding. The current is already started -or- is not linked to a SSH session. The client is not connected. Stops port forwarding. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Starts port forwarding. Stops port forwarding, and waits for the specified timeout until all pending requests are processed. The maximum amount of time to wait for pending requests to finish processing. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Ensures the current instance is not disposed. The current instance is disposed. Raises event. The exception. Raises event. Request originator host. Request originator port. Raises the event. Handles session ErrorOccurred event. The source of the event. The instance containing the event data. Provides functionality for forwarding connections from the client to destination servers via the SSH server, also known as dynamic port forwarding. Holds a value indicating whether the current instance is disposed. if the current instance is disposed; otherwise, . Gets the bound host. Gets the bound port. Gets a value indicating whether port forwarding is started. if port forwarding is started; otherwise, . Initializes a new instance of the class. The port. Initializes a new instance of the class. The host. The port. Starts local port forwarding. Stops local port forwarding, and waits for the specified timeout until all pending requests are processed. The maximum amount of time to wait for pending requests to finish processing. Ensures the current instance is not disposed. The current instance is disposed. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Initializes the . When the port is started for the first time, a is created with an initial count of 1. On subsequent (re)starts, we'll dispose the current and create a new one with initial count of 1. Interrupts the listener, and unsubscribes from events. Waits for pending channels to close. The maximum time to wait for the pending channels to close. Reads a null terminated string from a socket. The to read from. The timeout to apply to individual reads. The read, or when the socket was closed. Finalizes an instance of the class. Provides functionality for local port forwarding. Gets the bound host. Gets the bound port. Gets the forwarded host. Gets the forwarded port. Gets a value indicating whether port forwarding is started. if port forwarding is started; otherwise, . Initializes a new instance of the class. The bound port. The host. The port. is greater than . is . is greater than . Initializes a new instance of the class. The bound host. The host. The port. is . is . is greater than . Initializes a new instance of the class. The bound host. The bound port. The host. The port. is . is . is greater than . is greater than . Starts local port forwarding. Stops local port forwarding, and waits for the specified timeout until all pending requests are processed. The maximum amount of time to wait for pending requests to finish processing. Ensures the current instance is not disposed. The current instance is disposed. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Finalizes an instance of the class. Initializes the . When the port is started for the first time, a is created with an initial count of 1. On subsequent (re)starts, we'll dispose the current and create a new one with initial count of 1. Interrupts the listener, and unsubscribes from events. Waits for pending channels to close. The maximum time to wait for the pending channels to close. Provides functionality for remote port forwarding. Gets a value indicating whether port forwarding is started. if port forwarding is started; otherwise, . Gets the bound host. Gets the bound host. Gets the bound port. Gets the forwarded host. Gets the forwarded host. Gets the forwarded port. Initializes a new instance of the class. The bound host address. The bound port. The host address. The port. is . is . is greater than . is greater than . Initializes a new instance of the class. The bound port. The host. The port. Initializes a new instance of the class. The bound host. The bound port. The host. The port. Starts remote port forwarding. Stops remote port forwarding. The maximum amount of time to wait for the port to stop. Ensures the current instance is not disposed. The current instance is disposed. Initializes the . When the port is started for the first time, a is created with an initial count of 1. On subsequent (re)starts, we'll dispose the current and create a new one with initial count of 1. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Returns a value indicating whether has been changed to . The status to transition from. if has been changed to ; otherwise, . Cannot transition to . While a transition from to is not possible, this method will return for any such attempts. This is related to concurrency. Returns a value indicating whether has been changed to . The status to transition from. if has been changed to ; otherwise, . Cannot transition to . While a transition from to is not possible, this method will return for any such attempts. This is related to concurrency. Holds information about key size and cipher to use. Gets the size of the key. The size of the key. Gets a value indicating whether the MAC algorithm will use encrypt-then-MAC ordering. to enable encrypt-then-MAC, to use encrypt-and-MAC. Gets the method for creating a instance given a key. Initializes a new instance of the class. Size of the key. The hash algorithm to use for a given key. to enable encrypt-then-MAC, to use encrypt-and-MAC. Base interface for authentication of a session using a given method. Authenticates the specified session. The session to authenticate. The result of the authentication process. Gets the list of allowed authentications. The list of allowed authentications. Gets the name of the authentication method. The name of the authentication method. Serves as base class for client implementations, provides common client functionality. Gets the connection info. The connection info. The method was called after the client was disposed. Gets a value indicating whether this client is connected to the server. if this client is connected; otherwise, . The method was called after the client was disposed. Gets or sets the keep-alive interval. The keep-alive interval. Specify negative one (-1) milliseconds to disable the keep-alive. This is the default value. The method was called after the client was disposed. Occurs when an error occurred. Occurs when host key received. Occurs when server identification received. Connects client to the server. The client is already connected. The method was called after the client was disposed. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Asynchronously connects client to the server. The to observe. A that represents the asynchronous connect operation. The client is already connected. The method was called after the client was disposed. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Disconnects client from the server. The method was called after the client was disposed. Sends a keep-alive message to the server. Use to configure the client to send a keep-alive at regular intervals. The method was called after the client was disposed. Represents a mechanism to authenticate a given client. Attempts to perform authentication for a given using the of the specified . A to use for authenticating. The for which to perform authentication. or is . Failed to Authenticate the client. Represents remote connection information. Gets the logger factory for this connection. The logger factory for this connection. If then is used. Gets the timeout to used when waiting for a server to acknowledge closing a channel. The channel close timeout. The default value is 1 second. If a server does not send a SSH2_MSG_CHANNEL_CLOSE message before the specified timeout elapses, the channel will be closed immediately. Gets the supported channel requests for this connection. The supported channel requests for this connection. Gets the character encoding. The character encoding. Gets connection host. The connection host. Gets connection port. The connection port. The default value is 22. Gets proxy type. The type of the proxy. Gets proxy connection host. Gets proxy connection port. Gets proxy connection username. Gets proxy connection password. Gets the number of retry attempts when session channel creation failed. The number of retry attempts when session channel creation failed. Gets the connection timeout. The connection timeout. The default value is 30 seconds. Occurs when authentication banner is sent by the server. Represents remote connection information. Signals that an authentication banner message was received from the server. The session in which the banner message was received. The banner message. Gets the supported authentication methods for this connection. The supported authentication methods for this connection. Creates a for the credentials represented by the current . A for the credentials represented by the current . Supports port forwarding functionality. The event occurs as the forwarded port is being stopped. Represents a collection of key/value pairs that are accessible by the key or index. The type of the keys in the dictionary. The type of the values in the dictionary. Gets or sets the value associated with the specified key. The key of the value to get or set. The value associated with the specified key. If the specified key is not found, a get operation throws a , and a set operation creates a new element with the specified key. is . The property is retrieved and does not exist in the collection. Setting the value of an existing key does not impact its order in the collection. Gets a collection containing the keys in the . Gets a collection containing the values in the . Gets the number of key/value pairs contained in the . Determines whether the contains the specified key. The key to locate in the . if the contains an element with the specified key; otherwise, . is . Determines whether the contains a specific value. The value to locate in the . The value can be null for reference types. if the contains an element with the specified value; otherwise, . Gets the key/value pair at the specified index. The zero-based index of the pair to get. The element at the specified index. is less than 0 or greater than or equal to . Determines the index of a specific key in the . The key to locate. The index of if found; otherwise, -1. is . Inserts an item into the collection at the specified index. The zero-based index at which item should be inserted. The key to insert. The value to insert. is . An element with the same key already exists in the . is less than 0 or greater than . Removes the value with the specified key from the and copies the element to the value parameter. The key of the element to remove. The removed element. if the element is successfully found and removed; otherwise, . is . Removes the key/value pair at the specified index. The zero-based index of the item to remove. is less than 0 or greater than or equal to . Sets the key/value pair at the specified index. The zero-based index at which to set the key/value pair. The key to store at the specified index. The value to store at the specified index. is . An element with the same key already exists at an index different to . is less than 0 or greater than or equal to . Sets the value for the key at the specified index. The zero-based index at which to set the key/value pair. The value to store at the specified index. is less than 0 or greater than or equal to . Moves an existing key/value pair to the specified index in the collection. The current zero-based index of the key/value pair to move. The zero-based index at which to set the key/value pair. or are less than 0 or greater than or equal to . Moves an existing key/value pair to the specified index in the collection. The key to move. The zero-based index at which to set the key/value pair. The specified key does not exist in the collection. is less than 0 or greater than or equal to . Adds the specified key and value to the dictionary if the key doesn't already exist. The key of the element to add. The value of the element to add. The value can be for reference types. if the key didn't exist and the key and value were added to the dictionary; otherwise, . is . Adds the specified key and value to the dictionary if the key doesn't already exist. The key of the element to add. The value of the element to add. The value can be for reference types. The index of the added or existing . This is always a valid index into the dictionary. if the key didn't exist and the key and value were added to the dictionary; otherwise, . is . Gets the value associated with the specified key. The key of the value to get. When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. if the contains an element with the specified key; otherwise, . is . Gets the value associated with the specified key. The key of the value to get. When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. The index of if found; otherwise, -1. if the contains an element with the specified key; otherwise, . is . Represents private key source interface. Gets the host keys algorithms. In situations where there is a preferred order of usage of the host algorithms, the collection should be ordered from most preferred to least. Represents a transformation that can be applied to a remote path. Transforms the specified remote path. The path to transform. The transformed path. Factory for creating new services. Creates an . An . Creates a new in a given and with the specified operation timeout. The to create the in. The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. An . Creates a new with the specified and . The to use for creating a new session. A factory to create instances. An for the specified . is . is . Creates a new in a given and with the specified operation timeout and encoding. The to create the in. The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. The encoding. The factory to use for creating SFTP messages. An . Create a new . A . Negotiates a key exchange algorithm, and creates a for the negotiated algorithm. A dictionary of the key exchange algorithms supported by the client where the key is the name of the algorithm, and the value is a factory returning this algorithm. The names of the key exchange algorithms supported by the SSH server. A that was negotiated between client and server. is . is . No key exchange algorithm is supported by both client and server. Creates a new instance. An . Creates a shell stream. The SSH session. The TERM environment variable. The terminal width in columns. The terminal height in rows. The terminal width in pixels. The terminal height in pixels. The terminal mode values. Size of the buffer. The created instance. Client is not connected. The TERM environment variable contains an identifier for the text window's capabilities. You can get a detailed list of these capabilities by using the ‘infocmp’ command. The column/row dimensions override the pixel dimensions(when non-zero). Pixel dimensions refer to the drawable area of the window. Creates a shell stream without allocating a pseudo terminal. The SSH session. Size of the buffer. The created instance. Client is not connected. Creates an that encloses a path in double quotes, and escapes any embedded double quote with a backslash. An that encloses a path in double quotes, and escapes any embedded double quote with a backslash. with a shell. Creates an that can be used to establish a connection to the server identified by the specified . A detailing the server to establish a connection to. A factory to create instances. An that can be used to establish a connection to the server identified by the specified . is . is . The value of is not supported. Creates an that deals with the SSH protocol version exchange. An . Creates a factory to create instances. An . Provides functionality to connect and interact with SSH server. Gets the connection info. The connection info. Gets the logger factory for this session. The logger factory for this session. Will never return . Gets a value indicating whether the session is connected. if the session is connected; otherwise, . Gets the session semaphore that controls session channels. The session semaphore. Gets a that can be used to wait for the message listener loop to complete. A that can be used to wait for the message listener loop to complete, or when the session has not been connected. Connects to the server. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Asynchronously connects to the server. The to observe. A that represents the asynchronous connect operation. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Create a new SSH session channel. A new SSH session channel. Create a new channel for a locally forwarded TCP/IP port. A new channel for a locally forwarded TCP/IP port. Creates a "forwarded-tcpip" SSH channel. The number of the remote channel. The window size of the remote channel. The data packet size of the remote channel. A new "forwarded-tcpip" SSH channel. Disconnects from the server. This sends a SSH_MSG_DISCONNECT message to the server, waits for the server to close the socket on its end and subsequently closes the client socket. Called when client is disconnecting from the server. Registers SSH message with the session. The name of the message to register with the session. Sends a message to the server. The message to send. The client is not connected. The operation timed out. The size of the packet exceeds the maximum size defined by the protocol. Sends a message to the server. The message to send. if the message was sent to the server; otherwise, . The size of the packet exceeds the maximum size defined by the protocol. This methods returns when the attempt to send the message results in a or a . Unregister SSH message from the session. The name of the message to unregister with the session. Waits for the specified handle or the exception handle for the receive thread to signal within the connection timeout. The wait handle. A received package was invalid or failed the message integrity check. None of the handles are signaled in time and the session is not disconnecting. A socket error was signaled while receiving messages from the server. When neither handles are signaled in time and the session is not closing, then the session is disconnected. Waits for the specified handle or the exception handle for the receive thread to signal within the specified timeout. The wait handle. The time to wait for any of the handles to become signaled. A received package was invalid or failed the message integrity check. None of the handles are signaled in time and the session is not disconnecting. A socket error was signaled while receiving messages from the server. When neither handles are signaled in time and the session is not closing, then the session is disconnected. Waits for the specified to receive a signal, using a to specify the time interval. The that should be signaled. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. When this method returns , contains the . A . Waits for the specified to receive a signal, using a to specify the time interval. The that should be signaled. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. A . Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when session has been disconnected from the server. Occurs when an error occurred. Occurs when server identification received. Occurs when host key received. Occurs when message received Occurs when message received Occurs when message is received from the server. Implementation of the SSH File Transfer Protocol (SFTP) over SSH. Gets or sets the maximum size of the buffer in bytes. The size of the buffer. The default buffer size is 32768 bytes (32 KB). For write operations, this limits the size of the payload for individual SSH_FXP_WRITE messages. The actual size is always capped at the maximum packet size supported by the peer (minus the size of protocol fields). For read operations, this controls the size of the payload which is requested from the peer in a SSH_FXP_READ message. The peer will send the requested number of bytes in a SSH_FXP_DATA message, possibly split over multiple SSH_MSG_CHANNEL_DATA messages. To optimize the size of the SSH packets sent by the peer, the actual requested size will take into account the size of the SSH_FXP_DATA protocol fields. The size of the each individual SSH_FXP_DATA message is limited to the local maximum packet size of the channel, which is set to 64 KB for SSH.NET. However, the peer can limit this even further. The method was called after the client was disposed. Gets or sets the operation timeout. The timeout to wait until an operation completes. The default value is negative one (-1) milliseconds, which indicates an infinite timeout period. represents a value that is less than -1 or greater than milliseconds. Gets sftp protocol version. Client is not connected. The method was called after the client was disposed. Gets remote working directory. Client is not connected. The method was called after the client was disposed. Appends lines to a file, creating the file if it does not already exist. The file to append the lines to. The file is created if it does not already exist. The lines to append to the file. is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). Appends lines to a file by using a specified encoding, creating the file if it does not already exist. The file to append the lines to. The file is created if it does not already exist. The lines to append to the file. The character encoding to use. is . -or- is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Appends the specified string to the file, creating the file if it does not already exist. The file to append the specified string to. The string to append to the file. is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). Appends the specified string to the file, creating the file if it does not already exist. The file to append the specified string to. The string to append to the file. The character encoding to use. is . -or- is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Creates a that appends UTF-8 encoded text to the specified file, creating the file if it does not already exist. The path to the file to append to. A that appends text to a file using UTF-8 encoding without a Byte-Order Mark (BOM). is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Creates a that appends text to a file using the specified encoding, creating the file if it does not already exist. The path to the file to append to. The character encoding to use. A that appends text to a file using the specified encoding. is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Begins an asynchronous file downloading into the stream. The path. The output. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. Begins an asynchronous file downloading into the stream. The path. The output. The method to be called when the asynchronous write operation is completed. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. Begins an asynchronous file downloading into the stream. The path. The output. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The download callback. An that references the asynchronous operation. is . is or contains only whitespace characters. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. Begins an asynchronous operation of retrieving list of files in remote directory. The path. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The list callback. An that references the asynchronous operation. The method was called after the client was disposed. Begins the synchronize directories. The source path. The destination path. The search pattern. The async callback. The state. An that represents the asynchronous directory synchronization. is . is or contains only whitespace. If a problem occurs while copying the file. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. If the remote file already exists, it is overwritten and truncated. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. The method to be called when the asynchronous write operation is completed. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. If the remote file already exists, it is overwritten and truncated. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The upload callback. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. If the remote file already exists, it is overwritten and truncated. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. Specified whether an existing file can be overwritten. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The upload callback. An that references the asynchronous operation. is . is or contains only whitespace characters. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. When refers to an existing file, set to to overwrite and truncate that file. If is , the upload will fail and will throw an . Changes remote directory to path. New directory path. is . Client is not connected. Permission to change directory denied by remote host. -or- A SSH command was denied by the server. was not found on the remote host. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously requests to change the current working directory to the specified path. The new working directory. The token to monitor for cancellation requests. A that tracks the asynchronous change working directory request. is . Client is not connected. Permission to change directory denied by remote host. -or- A SSH command was denied by the server. was not found on the remote host. A SSH error where is the message from the remote host. The method was called after the client was disposed. Changes permissions of file(s) to specified mode. File(s) path, may match multiple files. The mode. is . Client is not connected. Permission to change permission on the path(s) was denied by the remote host. -or- A SSH command was denied by the server. was not found on the remote host. A SSH error where is the message from the remote host. The method was called after the client was disposed. Creates or overwrites a file in the specified path. The path and name of the file to create. A that provides read/write access to the file specified in path. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the target file already exists, it is first truncated to zero bytes. Creates or overwrites the specified file. The path and name of the file to create. The maximum number of bytes buffered for reads and writes to the file. A that provides read/write access to the file specified in path. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the target file already exists, it is first truncated to zero bytes. Creates remote directory specified by path. Directory path to create. is or contains only whitespace characters. Client is not connected. Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously requests to create a remote directory specified by path. Directory path to create. The to observe. A that represents the asynchronous create directory operation. is or contains only whitespace characters. Client is not connected. Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Creates or opens a file for writing UTF-8 encoded text. The file to be opened for writing. A that writes text to a file using UTF-8 encoding without a Byte-Order Mark (BOM). is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Creates or opens a file for writing text using the specified encoding. The file to be opened for writing. The character encoding to use. A that writes to a file using the specified encoding. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Deletes the specified file or directory. The name of the file or directory to be deleted. Wildcard characters are not supported. is . Client is not connected. was not found on the remote host. The method was called after the client was disposed. Permanently deletes a file on remote machine. The name of the file or directory to be deleted. Wildcard characters are not supported. The to observe. A that represents the asynchronous delete operation. Deletes remote directory specified by path. Directory to be deleted path. is or contains only whitespace characters. Client is not connected. was not found on the remote host. Permission to delete the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously deletes a remote directory. The path of the directory to be deleted. The to observe. A that represents the asynchronous delete operation. is or contains only whitespace characters. Client is not connected. was not found on the remote host. Permission to delete the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Deletes remote file specified by path. File to be deleted path. is or contains only whitespace characters. Client is not connected. was not found on the remote host. Permission to delete the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously deletes remote file specified by path. File to be deleted path. The to observe. A that represents the asynchronous delete operation. is or contains only whitespace characters. Client is not connected. was not found on the remote host. Permission to delete the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Downloads a remote file into a . The path to the remote file. The to write the file into. The download callback. or is . is empty or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- An SSH command was denied by the server. was not found on the remote host. An SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously downloads a remote file into a . The path to the remote file. The to write the file into. The to observe. A that represents the asynchronous download operation. or is . is empty or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- An SSH command was denied by the server. was not found on the remote host. An SSH error where is the message from the remote host. The method was called after the client was disposed. Ends an asynchronous file downloading into the stream. The pending asynchronous SFTP request. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. The path was not found on the remote host. A SSH error where is the message from the remote host. Ends an asynchronous operation of retrieving list of files in remote directory. The pending asynchronous SFTP request. A list of files. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . Ends the synchronize directories. The async result. A list of uploaded files. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . The destination path was not found on the remote host. Ends an asynchronous uploading the stream into remote file. The pending asynchronous SFTP request. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . Client is not connected. The directory of the file was not found on the remote host. Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. Checks whether file or directory exists. The path. if directory or file exists; otherwise . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Checks whether file or directory exists. The path. The to observe. A that represents the exists operation. The task result contains if directory or file exists; otherwise . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Gets reference to remote file or directory. The path. A reference to file object. Client is not connected. was not found on the remote host. is . The method was called after the client was disposed. Gets reference to remote file or directory. The path. The to observe. A that represents the get operation. The task result contains the reference to file object. Client is not connected. was not found on the remote host. is . The method was called after the client was disposed. Gets the of the file on the path. The path to the file. The of the file on the path. is . Client is not connected. was not found on the remote host. The method was called after the client was disposed. Gets the of the file on the path. The path to the file. The to observe. A that represents the attribute retrieval operation. The task result contains the of the file on the path. is . Client is not connected. was not found on the remote host. The method was called after the client was disposed. Returns the date and time the specified file or directory was last accessed. The file or directory for which to obtain access date and time information. A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. is . Client is not connected. The method was called after the client was disposed. Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. The file or directory for which to obtain access date and time information. A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. is . Client is not connected. The method was called after the client was disposed. Returns the date and time the specified file or directory was last written to. The file or directory for which to obtain write date and time information. A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. is . Client is not connected. The method was called after the client was disposed. Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. The file or directory for which to obtain write date and time information. A structure set to the date and time that the specified file or directory was last written to. This value is expressed in UTC time. is . Client is not connected. The method was called after the client was disposed. Gets status using statvfs@openssh.com request. The path. A instance that contains file status information. Client is not connected. is . The method was called after the client was disposed. Asynchronously gets status using statvfs@openssh.com request. The path. The to observe. A that represents the status operation. The task result contains the instance that contains file status information. Client is not connected. is . The method was called after the client was disposed. Retrieves list of files in remote directory. The path. The list callback. A list of files. is . Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously enumerates the files in remote directory. The path. The to observe. An of that represents the asynchronous enumeration operation. The enumeration contains an async stream of for the files in the directory specified by . is . Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Opens a on the specified path with read/write access. The file to open. A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. An unshared that provides access to the specified file, with the specified mode and read/write access. is . Client is not connected. The method was called after the client was disposed. Opens a on the specified path, with the specified mode and access. The file to open. A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. A value that specifies the operations that can be performed on the file. An unshared that provides access to the specified file, with the specified mode and access. is . Client is not connected. The method was called after the client was disposed. Asynchronously opens a on the specified path, with the specified mode and access. The file to open. A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. A value that specifies the operations that can be performed on the file. The to observe. A that represents the asynchronous open operation. The task result contains the that provides access to the specified file, with the specified mode and access. is . Client is not connected. The method was called after the client was disposed. Opens an existing file for reading. The file to be opened for reading. A read-only on the specified path. is . Client is not connected. The method was called after the client was disposed. Opens an existing UTF-8 encoded text file for reading. The file to be opened for reading. A on the specified path. is . Client is not connected. The method was called after the client was disposed. Opens a file for writing. The file to be opened for writing. An unshared object on the specified path with access. is . Client is not connected. The method was called after the client was disposed. If the file does not exist, it is created. Opens a binary file, reads the contents of the file into a byte array, and closes the file. The file to open for reading. A byte array containing the contents of the file. is . Client is not connected. The method was called after the client was disposed. Opens a text file, reads all lines of the file using UTF-8 encoding, and closes the file. The file to open for reading. A string array containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Opens a file, reads all lines of the file with the specified encoding, and closes the file. The file to open for reading. The encoding applied to the contents of the file. A string array containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Opens a text file, reads all lines of the file with the UTF-8 encoding, and closes the file. The file to open for reading. A string containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Opens a file, reads all lines of the file with the specified encoding, and closes the file. The file to open for reading. The encoding applied to the contents of the file. A string containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Reads the lines of a file with the UTF-8 encoding. The file to read. The lines of the file. is . Client is not connected. The method was called after the client was disposed. Read the lines of a file that has a specified encoding. The file to read. The encoding that is applied to the contents of the file. The lines of the file. is . Client is not connected. The method was called after the client was disposed. Renames remote file from old path to new path. Path to the old file location. Path to the new file location. is . -or- or is . Client is not connected. Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Renames remote file from old path to new path. Path to the old file location. Path to the new file location. if set to then perform a posix rename. is . -or- or is . Client is not connected. Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously renames remote file from old path to new path. Path to the old file location. Path to the new file location. The to observe. A that represents the asynchronous rename operation. is . -or- or is . Client is not connected. Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Sets the date and time the specified file was last accessed. The file for which to set the access date and time information. A containing the value to set for the last access date and time of path. This value is expressed in local time. Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed. The file for which to set the access date and time information. A containing the value to set for the last access date and time of path. This value is expressed in UTC time. Sets the date and time that the specified file was last written to. The file for which to set the date and time information. A containing the value to set for the last write date and time of path. This value is expressed in local time. Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to. The file for which to set the date and time information. A containing the value to set for the last write date and time of path. This value is expressed in UTC time. Sets the specified of the file on the specified path. The path to the file. The desired . is . Client is not connected. The method was called after the client was disposed. Creates a symbolic link from old path to new path. The old path. The new path. is . -or- is or contains only whitespace characters. Client is not connected. Permission to create the symbolic link was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Synchronizes the directories. The source path. The destination path. The search pattern. A list of uploaded files. is . is or contains only whitespace. was not found on the remote host. If a problem occurs while copying the file. Uploads a to a remote file path. The to write to the remote path. The remote file path to write to. The upload callback. or is . is empty or contains only whitespace characters. Client is not connected. Permission to upload the file was denied by the remote host. -or- An SSH command was denied by the server. An SSH error where is the message from the remote host. The method was called after the client was disposed. Uploads a to a remote file path. The to write to the remote path. The remote file path to write to. Whether the remote file can be overwritten if it already exists. The upload callback. or is . is empty or contains only whitespace characters. Client is not connected. Permission to upload the file was denied by the remote host. -or- An SSH command was denied by the server. An SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously uploads a to a remote file path. The to write to the remote path. The remote file path to write to. The to observe. A that represents the asynchronous upload operation. or is . is empty or contains only whitespace characters. Client is not connected. Permission to upload the file was denied by the remote host. -or- An SSH command was denied by the server. An SSH error where is the message from the remote host. The method was called after the client was disposed. Writes the specified byte array to the specified file, and closes the file. The file to write to. The bytes to write to the file. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Writes a collection of strings to the file using the UTF-8 encoding, and closes the file. The file to write to. The lines to write to the file. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Writes a collection of strings to the file using the specified encoding, and closes the file. The file to write to. The lines to write to the file. The character encoding to use. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Write the specified string array to the file using the UTF-8 encoding, and closes the file. The file to write to. The string array to write to the file. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Writes the specified string array to the file by using the specified encoding, and closes the file. The file to write to. The string array to write to the file. An object that represents the character encoding applied to the string array. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Writes the specified string to the file using the UTF-8 encoding, and closes the file. The file to write to. The string to write to the file. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Writes the specified string to the file using the specified encoding, and closes the file. The file to write to. The string to write to the file. The encoding to apply to the string. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the file specified by does not exist, it is created. If the file does exist, its contents are replaced. Provides client connection to SSH server. Gets the list of forwarded ports. Adds the forwarded port. The port. Forwarded port is already added to a different client. is . Client is not connected. Stops and removes the forwarded port from the list. Forwarded port. is . Creates the command to be executed. The command text. object. Client is not connected. Creates the command to be executed with specified encoding. The command text. The encoding to use for results. object which uses specified encoding. This method will change current default encoding. Client is not connected. or is . Creates and executes the command. The command text. Returns an instance of with execution results. This method internally uses asynchronous calls. CommandText property is empty. Invalid Operation - An existing channel was used to execute this command. Asynchronous operation is already in progress. Client is not connected. is . Creates the shell. The input. The output. The extended output. Name of the terminal. The columns. The rows. The width. The height. The terminal mode. Size of the internal read buffer. Returns a representation of a object. Client is not connected. Creates the shell. The input. The output. The extended output. Name of the terminal. The columns. The rows. The width. The height. The terminal mode. Returns a representation of a object. Client is not connected. Creates the shell. The input. The output. The extended output. Returns a representation of a object. Client is not connected. Creates the shell. The encoding to use to send the input. The input. The output. The extended output. Name of the terminal. The columns. The rows. The width. The height. The terminal mode. Size of the internal read buffer. Returns a representation of a object. Client is not connected. Creates the shell. The encoding. The input. The output. The extended output. Name of the terminal. The columns. The rows. The width. The height. The terminal modes. Returns a representation of a object. Client is not connected. Creates the shell. The encoding. The input. The output. The extended output. Returns a representation of a object. Client is not connected. Creates the shell without allocating a pseudo terminal, similar to the ssh -T option. The input. The output. The extended output. Size of the internal read buffer. Returns a representation of a object. Client is not connected. Creates the shell stream. The TERM environment variable. The terminal width in columns. The terminal height in rows. The terminal width in pixels. The terminal height in pixels. The size of the buffer. The created instance. Client is not connected. The TERM environment variable contains an identifier for the text window's capabilities. You can get a detailed list of these capabilities by using the ‘infocmp’ command. The column/row dimensions override the pixel dimensions (when nonzero). Pixel dimensions refer to the drawable area of the window. Creates the shell stream. The TERM environment variable. The terminal width in columns. The terminal height in rows. The terminal width in pixels. The terminal height in pixels. The size of the buffer. The terminal mode values. The created instance. Client is not connected. The TERM environment variable contains an identifier for the text window's capabilities. You can get a detailed list of these capabilities by using the ‘infocmp’ command. The column/row dimensions override the pixel dimensions (when non-zero). Pixel dimensions refer to the drawable area of the window. Creates the shell stream without allocating a pseudo terminal, similar to the ssh -T option. The size of the buffer. The created instance. Client is not connected. Base interface for SSH subsystem implementations. Gets the logger factory for this subsystem session. The logger factory for this connection. Will never return . Gets or sets the number of milliseconds to wait for an operation to complete. The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. Gets a value indicating whether this session is open. if this session is open; otherwise, . Connects the subsystem using a new SSH channel session. The session is already connected. The method was called after the session was disposed. Disconnects the subsystem channel. Waits a specified time for a given to be signaled. The handle to wait for. The number of milliseconds to wait for to be signaled, or -1 to wait indefinitely. The connection was closed by the server. The channel was closed. The handle did not get signaled within the specified timeout. Asynchronously waits for a given to be signaled. The handle to wait for. The number of milliseconds to wait for to be signaled, or -1 to wait indefinitely. The cancellation token to observe. The connection was closed by the server. The channel was closed. The handle did not get signaled within the specified timeout. A representing the wait. Asynchronously waits for a given to complete. The type of the result which is being awaited. The handle to wait for. The number of milliseconds to wait for to complete, or -1 to wait indefinitely. The cancellation token to observe. The connection was closed by the server. The channel was closed. The handle did not get signaled within the specified timeout. A representing the wait. Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to specify the time interval. A array - constructed using - containing the objects to wait for. To number of milliseconds to wait for a to get signaled, or -1 to wait indefinitely. The array index of the first non-system object that satisfied the wait. The connection was closed by the server. The channel was closed. No object satisfied the wait and a time interval equivalent to has passed. For the return value, the index of the first non-system object is considered to be zero. Creates a array that is composed of system objects and the specified elements. The first to wait for. The second to wait for. A array that is composed of system objects and the specified elements. Provides functionality to perform keyboard interactive authentication. Gets the name of the authentication method. The name of the authentication method. Occurs when server prompts for more authentication information. Initializes a new instance of the class. The username. is whitespace or . Authenticates the specified session. The session to authenticate. Result of authentication process. Provides connection information when keyboard interactive authentication method is used. Occurs when server prompts for more authentication information. Initializes a new instance of the class. The host. The username. Initializes a new instance of the class. The host. The port. The username. Initializes a new instance of the class. Connection host. Connection port. Connection username. Type of the proxy. The proxy host. The proxy port. Initializes a new instance of the class. Connection host. Connection port. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. Initializes a new instance of the class. Connection host. Connection username. Type of the proxy. The proxy host. The proxy port. Initializes a new instance of the class. Connection host. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. Initializes a new instance of the class. Connection host. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. Initializes a new instance of the class. Connection host. Connection port. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Provides data for message events. Message type. Gets the message. Initializes a new instance of the class. The message. is . Represents SSH_MSG_USERAUTH_BANNER message. Gets banner message. Gets banner language. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_FAILURE message. Gets or sets the allowed authentications if available. The allowed authentications. Gets failure message. Gets a value indicating whether authentication is partially successful. if partially successful; otherwise, . Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_INFO_REQUEST message. Gets information request name. Gets information request instruction. Gets information request language. Gets information request prompts. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_INFO_RESPONSE message. Gets authentication responses. Gets the size of the message in bytes. -1 to indicate that the size of the message cannot be determined, or is too costly to calculate. Initializes a new instance of the class. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message. Gets password change request message as UTF-8 encoded byte array. Gets message language as UTF-8 encoded byte array. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_PK_OK message. Gets the name of the public key algorithm as ASCII encoded byte array. The name of the public key algorithm. Gets the public key data. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_REQUEST message. Server as a base message for other user authentication requests. Returns the authentication message code for SSH_MSG_USERAUTH_REQUEST. Gets authentication username as UTF-8 encoded byte array. Gets the name of the service as ASCII encoded byte array. The name of the service. Gets the name of the authentication method. The name of the method. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Name of the service. Authentication username. The name of the authentication method. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "hostbased" SSH_MSG_USERAUTH_REQUEST message. Gets the public key algorithm for host key as ASCII encoded byte array. Gets the public host key and certificates for client host. The public host key. Gets the name of the client host as ASCII encoded byte array. The name of the client host. Gets the client username on the client host as UTF-8 encoded byte array. The client username. Gets the signature. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Name of the service. Authentication username. The public key algorithm. The public host key. Name of the client host. The client username. The signature. Called when type specific data need to be saved. Represents "keyboard-interactive" SSH_MSG_USERAUTH_REQUEST message. Gets message language. Gets authentication sub methods. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Name of the service. Authentication username. Called when type specific data need to be saved. Represents "none" SSH_MSG_USERAUTH_REQUEST message. Initializes a new instance of the class. Name of the service. Authentication username. Represents "password" SSH_MSG_USERAUTH_REQUEST message. Gets authentication password. Gets new authentication password. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Name of the service. Authentication username. Authentication password. Initializes a new instance of the class. Name of the service. Authentication username. Authentication password. New authentication password. Called when type specific data need to be saved. Represents "publickey" SSH_MSG_USERAUTH_REQUEST message. Gets the name of the public key algorithm as ASCII encoded byte array. The name of the public key algorithm. Gets the public key data. Gets or sets public key signature. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Name of the service. Authentication username. Name of private key algorithm. Private key data. Initializes a new instance of the class. Name of the service. Authentication username. Name of private key algorithm. Private key data. Private key signature. Called when type specific data need to be saved. Represents SSH_MSG_USERAUTH_SUCCESS message. Called when type specific data need to be loaded. Called when type specific data need to be saved. Gets the address to bind to. Gets port number to bind to. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_CHANNEL_CLOSE message. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. Represents SSH_MSG_CHANNEL_DATA message. Gets the message data. The data. The actual data to read or write depends on the and . Gets the zero-based offset in at which the data begins. The zero-based offset in at which the data begins. Gets the number of bytes of to read or write. The number of bytes of to read or write. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. Message data. Initializes a new instance of the class. The local channel number. The message data. The zero-based byte offset in at which to begin reading or writing data from. The number of bytes of to read or write. Loads the data. Saves the data. Represents SSH_MSG_CHANNEL_EOF message. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. Represents SSH_MSG_CHANNEL_EXTENDED_DATA message. Gets message data type code. Gets message data. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. The message data type code. The message data. Loads the data. Saves the data. Represents SSH_MSG_CHANNEL_FAILURE message. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. Base class for all channel specific SSH messages. Gets or sets the local channel number. The local channel number. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class with the specified local channel number. The local channel number. Called when type specific data need to be loaded. Called when type specific data need to be saved. Returns a that represents this instance. A that represents this instance. Represents SSH_MSG_CHANNEL_OPEN_CONFIRMATION message. Gets the remote channel number. Gets the initial size of the window. The initial size of the window. Gets the maximum size of the packet. The maximum size of the packet. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. Initial size of the window. Maximum size of the packet. The remote channel number. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_CHANNEL_OPEN_FAILURE message. Gets failure reason code. Gets description for failure. Gets message language. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. The description. The reason code. Initializes a new instance of the class. The local channel number. The description. The reason code. The language (RFC3066). Called when type specific data need to be loaded. Called when type specific data need to be saved. List channel open failure reasons defined by the protocol. SSH_OPEN_ADMINISTRATIVELY_PROHIBITED. SSH_OPEN_CONNECT_FAILED. SSH_OPEN_UNKNOWN_CHANNEL_TYPE. SSH_OPEN_RESOURCE_SHORTAGE. Base class for open channel messages. Gets the type of the channel to open. The type of the channel to open. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_CHANNEL_OPEN message. Gets the type of the channel as ASCII encoded byte array. The type of the channel. Gets or sets the local channel number. The local channel number. Gets the initial size of the window. The initial size of the window. Gets the maximum size of the packet. The maximum size of the packet. Gets channel specific open information. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The channel number. Initial size of the window. Maximum size of the packet. Information specific to the type of the channel to open. is . Called when type specific data need to be loaded. Called when type specific data need to be saved. Used to open "direct-tcpip" channel type. Specifies channel open type. Gets the type of the channel to open. The type of the channel to open. Gets the host to connect. Gets the port to connect. Gets the originator address. Gets the originator port. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class from the specified data. is . Initializes a new instance of the class. The host to connect. The port to connect. The originator address. The originator port. Called when type specific data need to be loaded. Called when type specific data need to be saved. Used to open "forwarded-tcpip" channel type. Specifies channel open type. Initializes a new instance of the class from the specified data. is . Initializes a new instance of the class with the specified connector address and port, and originator address and port. Gets the type of the channel to open. The type of the channel to open. Gets the connected address. The connected address. Gets the connected port. The connected port. Gets the originator address. The originator address. Gets the originator port. The originator port. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Used to open "session" channel type. Specifies channel open type. Gets the type of the channel to open. The type of the channel to open. Initializes a new instance of the class. Initializes a new instance of the class from the specified data. is . Used to open "x11" channel type. Specifies channel open type. Gets the type of the channel to open. The type of the channel to open. Gets the originator address. Gets the originator port. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class from the specified data. is . Initializes a new instance of the class with the specified originator address and port. The originator address. The originator port. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "break" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets break length in milliseconds. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. Length of the break. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_CHANNEL_REQUEST message. Gets the name of the request. The name of the request. Gets channel request data. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. The info. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "eow@openssh.com" type channel request information. Channel request name. Gets the name of the request. The name of the request. Initializes a new instance of the class. Represents "env" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets the name of the variable. The name of the variable. Gets the value of the variable. The variable value. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. Name of the variable. The variable value. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "exec" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets command to execute. The command. Gets the encoding. The encoding. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The command. The character encoding to use. or is . Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "exit-signal" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets the name of the signal. The name of the signal. Gets a value indicating whether core is dumped. if core is dumped; otherwise, . Gets the error message. Gets message language. Initializes a new instance of the class. Initializes a new instance of the class. Name of the signal. if set to then core is dumped. The error message. The language. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "exit-status" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets the exit status number. Initializes a new instance of the class. Initializes a new instance of the class. The exit status number. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "keepalive@openssh.com" type channel request information. Channel request name. Gets the name of the request. The name of the request. Initializes a new instance of the class. Represents "pty-req" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets or sets the value of the TERM environment variable (e.g., vt100). The value of the TERM environment variable. Gets or sets the terminal width in columns (e.g., 80). The terminal width in columns. Gets or sets the terminal width in rows (e.g., 24). The terminal width in rows. Gets or sets the terminal width in pixels (e.g., 640). The terminal width in pixels. Gets or sets the terminal height in pixels (e.g., 480). The terminal height in pixels. Gets or sets the terminal mode. The terminal mode. Gets the size of the message in bytes. -1 to indicate that the size of the message cannot be determined, or is too costly to calculate. Initializes a new instance of the class. Initializes a new instance of the class. The TERM environment variable which a identifier for the text window’s capabilities. The terminal width in columns. The terminal width in rows. The terminal width in pixels. The terminal height in pixels. The terminal mode values. The TERM environment variable contains an identifier for the text window's capabilities. You can get a detailed list of these capabilities by using the ‘infocmp’ command. The column/row dimensions override the pixel dimensions(when nonzero). Pixel dimensions refer to the drawable area of the window. Called when type specific data need to be saved. Represents type specific information for channel request. Gets the name of the request. The name of the request. Gets or sets a value indicating whether reply message is needed. if reply message is needed; otherwise, . Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "shell" type channel request information. Channel request name. Gets the name of the request. The name of the request. Initializes a new instance of the class. Represents "signal" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets the name of the signal. The name of the signal. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. Name of the signal. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "subsystem" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets the name of the subsystem. The name of the subsystem. Initializes a new instance of the class. Initializes a new instance of the class. The subsystem. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents an unknown request information that we can't handle. Gets the name of the request. Initializes a new instance of the class. The name of the unknown request. Represents "window-change" type channel request information. Channe request name. Gets the name of the request. The name of the request. Gets the columns. Gets the rows. Gets the width. Gets the height. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The columns. The rows. The width. The height. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "x11-req" type channel request information. Channel request name. Gets the name of the request. The name of the request. Gets or sets a value indicating whether it is a single connection. if it is a single connection; otherwise, . Gets the authentication protocol. The authentication protocol. Gets or sets the authentication cookie. The authentication cookie. Gets or sets the screen number. The screen number. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. if set to it is a single connection. The protocol. The cookie. The screen number. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents "xon-xoff" type channel request information. Channel request type. Gets the name of the request. The name of the request. Gets or sets a value indicating whether client can do. if client can do; otherwise, . Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. if set to [client can do]. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_CHANNEL_SUCCESS message. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. Represents SSH_MSG_CHANNEL_SUCCESS message. Gets number of bytes to add to the window. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The local channel number. The bytes to add. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_GLOBAL_REQUEST message. Gets the name of the request. The name of the request. Gets a value indicating whether message reply should be sent.. if message reply should be sent; otherwise, . Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. Name of the request. if set to [want reply]. Called when type specific data need to be loaded. Called when type specific data need to be saved. Specifies supported request names. tcpip-forward. cancel-tcpip-forward. Represents SSH_MSG_REQUEST_FAILURE message. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_REQUEST_SUCCESS message. Gets the bound port. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The bound port. Called when type specific data need to be loaded. Called when type specific data need to be saved. Gets the address to bind to. Gets port number to bind to. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Base class for all SSH protocol messages. Gets the message name as defined in RFC 4250. Gets the message number as defined in RFC 4250. Process the current message for the specified . The for which to process the current message. Specifies list of supported services. ssh-userauth. ssh-connection. Represents SSH_MSG_DEBUG message. Gets a value indicating whether the message to be always displayed. if the message always to be displayed; otherwise, . Gets debug message. Gets message language. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_DISCONNECT message. Gets disconnect reason code. Gets disconnect description. Gets message language. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Initializes a new instance of the class. The reason code. The message. Called when type specific data need to be loaded. Called when type specific data need to be saved. Provides list of disconnect reason as specified by the protocol. Disconnect reason is not provided. SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT. SSH_DISCONNECT_PROTOCOL_ERROR. SSH_DISCONNECT_KEY_EXCHANGE_FAILED. SSH_DISCONNECT_RESERVED. SSH_DISCONNECT_MAC_ERROR. SSH_DISCONNECT_COMPRESSION_ERROR. SSH_DISCONNECT_SERVICE_NOT_AVAILABLE. SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED. SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE. SSH_DISCONNECT_CONNECTION_LOST. SSH_DISCONNECT_BY_APPLICATION. SSH_DISCONNECT_TOO_MANY_CONNECTIONS. SSH_DISCONNECT_AUTH_CANCELLED_BY_USER. SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE. SSH_DISCONNECT_ILLEGAL_USER_NAME. Represents SSH_MSG_IGNORE message. Gets ignore message data if this message has been initialised with data to be sent. Otherwise, returns an empty array. Initializes a new instance of the class. Initializes a new instance of the class. The data. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Indicates that message that implement this interface is allowed during key exchange phase. Represents SSH_MSG_KEX_DH_GEX_GROUP message. Gets the safe prime. The safe prime. Gets the generator for subgroup in GF(p). The sub group. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_DH_GEX_INIT message. Gets the E value. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. The client exchange value. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_DH_GEX_REPLY message. Gets server public host key and certificates. The host key. Gets the F value. Gets the signature of H. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_DH_GEX_REQUEST message. Gets the minimum size, in bits, of an acceptable group. The minimum. Gets the preferred size, in bits, of the group the server will send. The preferred. Gets the maximum size, in bits, of an acceptable group. The maximum. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. The minimum. The preferred. The maximum. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEXDH_INIT message. Gets the E value. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. The client exchange value. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEXDH_REPLY message. Gets server public host key and certificates. The host key. Gets the F value. Gets the signature of H. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_ECDH_INIT message. Gets the client's ephemeral contribution to the ECDH exchange, encoded as an octet string. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_ECDH_REPLY message. Gets a string encoding an X.509v3 certificate containing the server's ECDSA public host key. The host key. Gets the server's ephemeral contribution to the ECDH exchange, encoded as an octet string. Gets an octet string containing the server's signature of the newly established exchange hash value. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_HYBRID_INIT message. Gets the client init data. The init data is the concatenation of C_PK2 and C_PK1 (C_INIT = C_PK2 || C_PK1, where || depicts concatenation). C_PK1 and C_PK2 represent the ephemeral client public keys used for each key exchange of the PQ/T Hybrid mechanism. Typically, C_PK1 represents a traditional / classical (i.e., ECDH) key exchange public key. C_PK2 represents the 'pk' output of the corresponding post-quantum KEM's 'KeyGen' at the client. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEX_HYBRID_REPLY message. Gets a string encoding an X.509v3 certificate containing the server's ECDSA public host key. The host key. Gets the server reply. The server reply is the concatenation of S_CT2 and S_PK1 (S_REPLY = S_CT2 || S_PK1). Typically, S_PK1 represents the ephemeral (EC)DH server public key. S_CT2 represents the ciphertext 'ct' output of the corresponding KEM's 'Encaps' algorithm generated by the server which encapsulates a secret to the client public key C_PK2. Gets an octet string containing the server's signature of the newly established exchange hash value. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_KEXINIT message. Initializes a new instance of the class. Gets session cookie. Gets or sets supported key exchange algorithms. Supported key exchange algorithms. Gets or sets supported server host key algorithms. Supported server host key algorithms. Gets or sets supported encryption algorithms client to server. Supported encryption algorithms client to server. Gets or sets supported encryption algorithms server to client. Supported encryption algorithms server to client. Gets or sets supported hash algorithms client to server. Supported hash algorithms client to server. Gets or sets supported hash algorithms server to client. Supported hash algorithms server to client. Gets or sets supported compression algorithms client to server. Supported compression algorithms client to server. Gets or sets supported compression algorithms server to client. Supported compression algorithms server to client. Gets or sets supported languages client to server. Supported languages client to server. Gets or sets supported languages server to client. The languages server to client. Gets or sets a value indicating whether first key exchange packet follows. if first key exchange packet follows; otherwise, . Gets or sets the reserved value. The reserved value. Gets the size of the message in bytes. -1 to indicate that the size of the message cannot be determined, or is too costly to calculate. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_NEWKEYS message. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_SERVICE_ACCEPT message. Gets the name of the service. The name of the service. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_SERVICE_REQUEST message. Gets the name of the service. The name of the service. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. Name of the service. Called when type specific data need to be loaded. Called when type specific data need to be saved. Represents SSH_MSG_UNIMPLEMENTED message. Called when type specific data need to be loaded. Called when type specific data need to be saved. Contains operation for working with NetConf server. Holds instance that used to communicate to the server. Gets or sets the operation timeout. The timeout to wait until an operation completes. The default value is negative one (-1) milliseconds, which indicates an infinite time-out period. represents a value that is less than -1 or greater than milliseconds. Gets the current NetConf session. The current NetConf session. Initializes a new instance of the class. The connection info. is . Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication password. is . is invalid, or is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication password. is . is invalid, or is or contains only whitespace characters. Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication private key file(s) . is . is invalid, -or- is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication private key file(s) . is . is invalid, -or- is or contains only whitespace characters. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. is . If is , then the connection info will be disposed when this instance is disposed. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. The factory to use for creating new services. is . is . If is , then the connection info will be disposed when this instance is disposed. Gets the NetConf server capabilities. The NetConf server capabilities. Client is not connected. Gets the NetConf client capabilities. The NetConf client capabilities. Client is not connected. Gets or sets a value indicating whether automatic message id handling is enabled. if automatic message id handling is enabled; otherwise, . The default value is . Sends the receive RPC. var rpcXmlTemplate = "{0}"' rpc.LoadXml(String.Format(rpcXmlTemplate, "")); var rpcResponse = client.SendReceiveRpc(rpc); The RPC. Reply message to RPC request. Client is not connected. Sends the receive RPC. var rpcXmlTemplate = "{0}"' var rpcResponse = client.SendReceiveRpc(String.Format(rpcXmlTemplate, "")); The XML. Reply message to RPC request. Sends the close RPC. Reply message to closing RPC request. Client is not connected. Called when client is connected to the server. Called when client is disconnecting from the server. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents a NETCONF session. Gets the NETCONF server capabilities. The NETCONF server capabilities. Gets the NETCONF client capabilities. The NETCONF client capabilities. Sends the specified RPC request and returns the reply sent by the NETCONF server. The RPC request. to automatically increment the message id and verify the message id of the RPC reply. The RPC reply. is and the message id in the RPC reply does not match the message id of the RPC request. Gets NetConf server capabilities. Gets NetConf client capabilities. Initializes a new instance of the class. The session. The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. Provides functionality for "none" authentication method. Gets the name of the authentication method. Initializes a new instance of the class. The username. is whitespace or . Authenticates the specified session. The session. Result of authentication process. is . Provides functionality to perform password authentication. Gets the name of the authentication method. Gets the password as a sequence of bytes. The password as a sequence of bytes. Occurs when user's password has expired and needs to be changed. Initializes a new instance of the class. The username. The password. is whitespace or . is . Initializes a new instance of the class. The username. The password. is whitespace or . is . Authenticates the specified session. The session to authenticate. Result of authentication process. is . Provides connection information when password authentication method is used. Occurs when user's password has expired and needs to be changed. Initializes a new instance of the class. Connection host. Connection username. Connection password. is . is invalid, or is or contains only whitespace characters. Initializes a new instance of the class. Connection host. Connection port. Connection username. Connection password. is . is invalid, or is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. The port. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. Initializes a new instance of the class. Connection host. The port. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. Initializes a new instance of the class. Connection host. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. Initializes a new instance of the class. Connection host. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. Initializes a new instance of the class. Connection host. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. Initializes a new instance of the class. Connection host. Connection username. Connection password. Initializes a new instance of the class. Connection host. Connection port. Connection username. Connection password. is . is invalid, or is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. The port. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. Initializes a new instance of the class. Connection host. The port. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. Initializes a new instance of the class. Connection host. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. Initializes a new instance of the class. Connection host. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. Initializes a new instance of the class. Connection host. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. Initializes a new instance of the class. Connection host. The port. Connection username. Connection password. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Provides functionality to perform private key authentication. Gets the name of the authentication method. Gets the key files used for authentication. Initializes a new instance of the class. The username. The key files. is whitespace or . Authenticates the specified session. The session to authenticate. Result of authentication process. Provides connection information when private key authentication method is used. Gets the key files used for authentication. Initializes a new instance of the class. Connection host. Connection username. Connection key files. Initializes a new instance of the class. Connection host. Connection port. Connection username. Connection key files. Initializes a new instance of the class. Connection host. The port. Connection username. Type of the proxy. The proxy host. The proxy port. The key files. Initializes a new instance of the class. Connection host. The port. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The key files. Initializes a new instance of the class. Connection host. Connection username. Type of the proxy. The proxy host. The proxy port. The key files. Initializes a new instance of the class. Connection host. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The key files. Initializes a new instance of the class. Connection host. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. The key files. Initializes a new instance of the class. Connection host. The port. Connection username. Type of the proxy. The proxy host. The proxy port. The proxy username. The proxy password. The key files. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents private key information. The following private keys are supported: RSA in OpenSSL PEM, ssh.com, OpenSSH and PuTTY key format ECDSA 256/384/521 in OpenSSL PEM, OpenSSH and PuTTY key format ED25519 in OpenSSL PEM, OpenSSH and PuTTY key format The following encryption algorithms are supported for OpenSSL traditional PEM: DES-EDE3-CBC DES-EDE3-CFB AES-128-CBC AES-192-CBC AES-256-CBC Private keys in OpenSSL PKCS#8 PEM format can be encrypted using any cipher method BouncyCastle supports. The following encryption algorithms are supported for ssh.com format: 3des-cbc The following encryption algorithms are supported for OpenSSH key format: 3des-cbc aes128-cbc aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com chacha20-poly1305@openssh.com The following encryption algorithms are supported for PuTTY key format: aes256-cbc Gets the supported host algorithms for this key file. Gets the key. Gets the public key certificate associated with this key, or if no certificate data has been passed to the constructor. Initializes a new instance of the class. The key. Initializes a new instance of the class. The private key. Initializes a new instance of the class. The path of the private key file. is . This method calls internally, this method does not catch exceptions from . Initializes a new instance of the class. The path of the private key file. The pass phrase for the private key. is . This method calls internally, this method does not catch exceptions from . Initializes a new instance of the class. The path of the private key file. The pass phrase for the private key. The path of a certificate file which certifies the private key. is . Initializes a new instance of the class. The private key. The pass phrase. is . Initializes a new instance of the class. The private key. The pass phrase for the private key. A certificate which certifies the private key. Opens the specified private key. The private key. The pass phrase. Opens the specified certificate. The certificate. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents private key parser. Parses the private key. The . Parses an OpenSSH V1 key file according to the key spec: . Decrypts encrypted private key file data. The cipher info. Encrypted data. Decryption pass phrase. Decryption binary salt. Decrypted byte array. , , or is . Parses an OpenSSL PKCS#8 key file according to RFC5208: . Algorithm not supported. Parses an PuTTY PPK key file. . Specifies the type of proxy client will use to connect to server. No proxy server. A SOCKS4 proxy server. A SOCKS5 proxy server. An HTTP proxy server. Encloses a path in double quotes, and escapes any embedded double quote with a backslash. Encloses a path in double quotes, and escapes any embedded double quote with a backslash. The path to transform. The transformed path. is . Original Transformed /var/log/auth.log "/var/log/auth.log" /var/mp3/Guns N' Roses "/var/mp3/Guns N' Roses" /var/garbage!/temp "/var/garbage!/temp" /var/would be 'kewl'!/not? "/var/would be 'kewl'!, not?" "" Hello "World" "Hello \"World" Performs no transformation. Returns the specified path without applying a transformation. The path to transform. The specified path as is. is . This transformation is recommended for servers that do not require any quoting to preserve the literal value of metacharacters, or when paths are guaranteed to never contain any such characters. Quotes a path in a way to be suitable to be used with a shell-based server. Quotes a path in a way to be suitable to be used with a shell-based server. The path to transform. A quoted path. is . If contains a single-quote, that character is embedded in quotation marks (eg. "'"). Sequences of single-quotes are grouped in a single pair of quotation marks. An exclamation mark in is escaped with a backslash. This is necessary because C Shell interprets it as a meta-character for history substitution even when enclosed in single quotes or quotation marks. All other characters are enclosed in single quotes. Sequences of such characters are grouped in a single pair of single quotes. References: Shell Command Language Unix C-Shell special characters and their uses Differences Between Bourne and C Shell Quoting Original Transformed /var/log/auth.log '/var/log/auth.log' /var/mp3/Guns N' Roses '/var/mp3/Guns N'"'"' Roses' /var/garbage!/temp '/var/garbage'\!'/temp' /var/would be 'kewl'!, not? '/var/would be '"'"'kewl'"'"\!', not?' '' Hello "World" 'Hello "World"' Provides access to built-in remote path transformations. References: Shell Command Language Unix C-Shell special characters and their uses Differences Between Bourne and C Shell Quoting Everyone quotes command line arguments the wrong way Gets a that quotes a path in a way to be suitable to be used with a shell-based server. A quoted path. If a path contains a single-quote, that character is embedded in quotation marks (eg. "'"). Sequences of single-quotes are grouped in a single pair of quotation marks. An exclamation mark in a path is escaped with a backslash. This is necessary because C Shell interprets it as a meta-character for history substitution even when enclosed in single quotes or quotation marks. All other characters are enclosed in single quotes. Sequences of such characters are grouped in a single pair of single quotes. Original Transformed /var/log/auth.log '/var/log/auth.log' /var/mp3/Guns N' Roses '/var/mp3/Guns N'"'"' Roses' /var/garbage!/temp '/var/garbage'\!'/temp' /var/would be 'kewl'!, not? '/var/would be '"'"'kewl'"'"\!', not?' '' Hello "World" 'Hello "World"' Gets a that performs no transformation. Recommended for servers that do not require any character to be escaped or enclosed in quotes, or when paths are guaranteed to never contain any special characters (such as #, ", ', $, ...). Gets a that encloses a path in double quotes, and escapes any embedded double quote with a backslash. A transformation that encloses a path in double quotes, and escapes any embedded double quote with a backslash. Original Transformed /var/log/auth.log "/var/log/auth.log" /var/mp3/Guns N' Roses "/var/mp3/Guns N' Roses" /var/garbage!/temp "/var/garbage!/temp" /var/would be 'kewl'!, not? "/var/would be 'kewl'!, not?" "" Hello "World" "Hello \"World" Provides SCP client functionality. More information on the SCP protocol is available here: https://github.com/net-ssh/net-scp/blob/master/lib/net/scp.rb. Known issues in OpenSSH: Recursive download (-prf) does not deal well with specific UTF-8 and newline characters. Recursive update does not support empty path for uploading to home directory. Gets or sets the operation timeout. The timeout to wait until an operation completes. The default value is negative one (-1) milliseconds, which indicates an infinite time-out period. Gets or sets the size of the buffer. The size of the buffer. The default buffer size is 16384 bytes. Gets or sets the transformation to apply to remote paths. The transformation to apply to remote paths. The default is . is . This transformation is applied to the remote file or directory path that is passed to the scp command. See for the transformations that are supplied out-of-the-box with SSH.NET. Occurs when downloading file. Occurs when uploading file. Initializes a new instance of the class. The connection info. is . Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication password. is . is invalid, or is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication password. is . is invalid, or is or contains only whitespace characters. Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication private key file(s) . is . is invalid, -or- is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication private key file(s) . is . is invalid, -or- is or contains only whitespace characters. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. is . If is , then the connection info will be disposed when this instance is disposed. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. The factory to use for creating new services. is . is . If is , then the connection info will be disposed when this instance is disposed. Uploads the specified stream to the remote host. The to upload. A relative or absolute path for the remote file. is . is a zero-length . A directory with the specified path exists on the remote host. The secure copy execution request was rejected by the server. Client is not connected. Uploads the specified file to the remote host. The file system info. A relative or absolute path for the remote file. is . is . is a zero-length . A directory with the specified path exists on the remote host. The secure copy execution request was rejected by the server. Client is not connected. Uploads the specified directory to the remote host. The directory info. A relative or absolute path for the remote directory. is . is . is a zero-length string. does not exist on the remote host, is not a directory or the user does not have the required permission. The secure copy execution request was rejected by the server. Client is not connected. Downloads the specified file from the remote host to local file. Remote host file name. Local file information. is . is or empty. exists on the remote host, and is not a regular file. The secure copy execution request was rejected by the server. Client is not connected. Downloads the specified directory from the remote host to local directory. Remote host directory name. Local directory information. is or empty. is . File or directory with the specified path does not exist on the remote host. The secure copy execution request was rejected by the server. Client is not connected. Downloads the specified file from the remote host to the stream. A relative or absolute path for the remote file. The to download the remote file to. is or contains only whitespace characters. is . exists on the remote host, and is not a regular file. The secure copy execution request was rejected by the server. Client is not connected. Sets mode, size and name of file being upload. The channel to perform the upload in. A from which any feedback from the server can be read. The size of the content to upload. The name of the file, without path, to which the content is to be uploaded. When the SCP transfer is already initiated for a file, a zero-length should be specified for . This prevents the server from uploading the content to a file with path <file path>/ if there's already a directory with this path, and allows us to receive an error response. Uploads the content of a file. The channel to perform the upload in. A from which any feedback from the server can be read. The content to upload. The name of the remote file, without path, to which the content is uploaded. is only used for raising the event. Checks the return code. The output stream. Read a LF-terminated string from the . The to read from. The string without trailing LF. Uploads the and of the next file or directory to upload. The channel to perform the upload in. A from which any feedback from the server can be read. The file or directory to upload. Upload the files and subdirectories in the specified directory. The channel to perform the upload in. A from which any feedback from the server can be read. The directory to upload. Sets mode and name of the directory being upload. Represents the abstract base class from which all implementations of algorithms must inherit. Gets the algorithm name. Represents an OpenSSH certificate as described in https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys. The type identifier of the certificate. The value is one of the following: ssh-rsa-cert-v01@openssh.com ecdsa-sha2-nistp256-cert-v01@openssh.com ecdsa-sha2-nistp384-cert-v01@openssh.com ecdsa-sha2-nistp521-cert-v01@openssh.com ssh-ed25519-cert-v01@openssh.com A CA-provided random bitstring of arbitrary length (but typically 16 or 32 bytes) included to make attacks that depend on inducing collisions in the signature hash infeasible. The public key that has been certified by the certificate authority. An optional certificate serial number set by the CA to provide an abbreviated way to refer to certificates from that CA. If a CA does not wish to number its certificates, it must set this field to zero. Specifies whether this certificate is for identification of a user or a host. A free-form text field that is filled in by the CA at the time of signing; the intention is that the contents of this field are used to identify the identity principal in log messages. The names for which this certificate is valid; hostnames for SSH_CERT_TYPE_HOST certificates and usernames for SSH_CERT_TYPE_USER certificates. As a special case, a zero-length "valid principals" field means the certificate is valid for any principal of the specified type. The beginning of the validity period of the certificate, as the number of seconds elapsed since 1970-01-01T00:00:00Z. The beginning of the validity period of the certificate. The end of the validity period of the certificate, as the number of seconds elapsed since 1970-01-01T00:00:00Z. The end of the validity period of the certificate. A set of zero or more options on the certificate's validity. The key identifies the option and the value encodes option-specific information. All such options are "critical" in the sense that an implementation must refuse to authorize a key that has an unrecognised option. A set of zero or more optional extensions. These extensions are not critical, and an implementation that encounters one that it does not recognise may safely ignore it. The CA key used to sign the certificate. The valid key types for CA keys are ssh-rsa, ssh-ed25519 and the ECDSA types ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521. "Chained" certificates, where the signature key type is a certificate type itself are NOT supported. Note that it is possible for a RSA certificate key to be signed by a Ed25519 or ECDSA CA key and vice-versa. Gets the SHA256 fingerprint of the certificate authority key in the same format as the ssh command, i.e. non-padded base64, but without the SHA256: prefix. ohD8VZEXGWo6Ez8GSEJQ9WpafgLFsOfLOtGGQCQo6Og. Base64 encoded SHA256 fingerprint with padding (equals sign) removed. The signature computed over all preceding fields from the initial string up to, and including the signature key. Signatures are computed and encoded according to the rules defined for the CA's public key algorithm (RFC4253 section 6.6 for ssh-rsa and ssh-dss, RFC5656 for the ECDSA types, and RFC8032 for Ed25519). The encoded certificate bytes. The encoded bytes of the certificate which are used to calculate . This consists of all of the fields before (i.e. except from) . Initializes a new instance of the class based on the data encoded in . The encoded public-key certificate data. Returns the number of bytes in the encoded certificate data up to and including . Used for verifying which is calculated from those bytes. Used to specify whether a certificate is for identification of a user or a host. The certificate is for identification of a user (SSH_CERT_TYPE_USER). The certificate is for identification of a host (SSH_CERT_TYPE_HOST). Implements certificate support for host algorithm. The factories which may be used in order to verify the signature within the certificate. Gets certificate used in this host key algorithm. Gets the encoded bytes of the certificate. Initializes a new instance of the class. The algorithm identifier. The private key used for this host algorithm. The certificate which certifies . Initializes a new instance of the class. The algorithm identifier. The private key used for this host algorithm. The certificate which certifies . Initializes a new instance of the class. The algorithm identifier. The certificate. Initializes a new instance of the class. The algorithm identifier. The certificate. Verifies the signature. The data to verify the signature against. The signature blob in format specific encoding. if is the result of signing with the corresponding private key to , and is valid with respect to its validity period and to its signature therein as signed by the certificate authority. BCrypt Pbkdf implementation. This was originally based on https://github.com/hierynomus/sshj/blob/master/src/main/java/com/hierynomus/sshj/userauth/keyprovider/bcrypt/BCrypt.java . Blowfish encipher a single 64-bit block encoded as two 32-bit halves. An array containing the two 32-bit half blocks. The position in the array of the blocks. Cycically extract a word of key material. The string to extract the data from. [in,out] The current offset. The next word of material from data. Initializes the Blowfish key schedule. Key the Blowfish cipher. The key byte array. Perform the "enhanced key schedule" step described by Provos and Mazieres in "A Future- Adaptable Password Scheme" http://www.openbsd.org/papers/bcrypt-paper.ps. Salt byte array. Input byte array. Compatibility with new OpenBSD function. Ported from SSHJ library (https://github.com/hierynomus/sshj) Applies the Bcrypt kdf to derive a key and iv from the passphrase, the key/iv are returned in the output variable. Ported from the SSHJ library. https://github.com/hierynomus/sshj Appends multiple byte arrays into one array. Base class for block cipher implementations. Gets the size of the block in bytes. The size of the block in bytes. Gets the minimum data size. The minimum data size. Gets the size of the block. The size of the block. Initializes a new instance of the class. The key. Size of the block. Cipher mode. Cipher padding. is . Encrypts the specified data. The data. The zero-based offset in at which to begin encrypting. The number of bytes to encrypt from . The encrypted data. Decrypts the specified input. The input. The zero-based offset in at which to begin decrypting. The number of bytes to decrypt from . The decrypted data. Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. The input data to encrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write encrypted data. The offset into the output byte array from which to begin writing data. The number of bytes encrypted. Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. The input data to decrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write decrypted data. The offset into the output byte array from which to begin writing data. The number of bytes decrypted. Base class for cipher implementation. Gets the minimum data size. The minimum data size. Gets the size of the authentication tag for ciphers which implement Authenticated Encryption (AE). When this implements Authenticated Encryption, the size, in bytes, of the authentication tag included in the encrypted message. Sets the sequence number. The sequence number. Encrypts the specified input. The input. Encrypted data. Encrypts the specified input. The input. The zero-based offset in at which to begin encrypting. The number of bytes to encrypt from . The encrypted data. Decrypts the specified input. The input. The decrypted data. Decrypts the specified input. The input. The zero-based offset in at which to begin decrypting. The number of bytes to decrypt from . The decrypted data. AES cipher implementation. Initializes a new instance of the class. The key. The IV. The mode. Enable PKCS7 padding. is . Keysize is not valid for this algorithm. Custom AES Cipher Mode, follows System.Security.Cryptography.CipherMode. Cipher Block Chain Mode. Electronic Codebook Mode. Output Feedback Mode. Cipher Feedback Mode. Cipher Text Stealing Mode. Counter Mode. AES GCM cipher implementation. . Gets the minimum block size. The reader is reminded that SSH requires that the data to be encrypted MUST be padded out to a multiple of the block size (16-octets for AES-GCM). . Gets the tag size in bytes. Both AEAD_AES_128_GCM and AEAD_AES_256_GCM produce a 16-octet Authentication Tag . Initializes a new instance of the class. The key. The IV. The length of additional associated data. Encrypts the specified input. The input data with below format: [----(offset)][----AAD----][----Plain Text----(length)] The zero-based offset in at which to begin encrypting. The number of bytes to encrypt from . The encrypted data with below format: [----AAD----][----Cipher Text----][----TAG----] Decrypts the specified input. The input data with below format: [----][----AAD----(offset)][----Cipher Text----(length)][----TAG----] The zero-based offset in at which to begin decrypting and authenticating. The number of bytes to decrypt and authenticate from . The decrypted data with below format: [----Plain Text----] With AES-GCM, the 12-octet IV is broken into two fields: a 4-octet fixed field and an 8 - octet invocation counter field.The invocation field is treated as a 64 - bit integer and is incremented after each invocation of AES - GCM to process a binary packet. . Dispose the instance. Set to True to dispose of resources. ChaCha20Poly1305 cipher implementation. . Gets the minimum block size. Gets the tag size in bytes. Poly1305 [Poly1305], also by Daniel Bernstein, is a one-time Carter- Wegman MAC that computes a 128 bit integrity tag given a message . Initializes a new instance of the class. The key. The length of additional associated data. Encrypts the specified input. The input data with below format: [----(offset)][----AAD----][----Plain Text----(length)] The zero-based offset in at which to begin encrypting. The number of bytes to encrypt from . The encrypted data with below format: [----Cipher AAD----][----Cipher Text----][----TAG----] Decrypts the AAD. The encrypted AAD. The decrypted AAD. Decrypts the specified input. The input data with below format: [----][----Cipher AAD----(offset)][----Cipher Text----(length)][----TAG----] The zero-based offset in at which to begin decrypting and authenticating. The number of bytes to decrypt and authenticate from . The decrypted data with below format: [----Plain Text----] Base class for cipher mode implementations. Gets the cipher. Gets the IV vector. Holds block size of the cipher. Initializes a new instance of the class. The iv. Initializes the specified cipher mode. The cipher. Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. The input data to encrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write encrypted data. The offset into the output byte array from which to begin writing data. The number of bytes encrypted. Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. The input data to decrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write decrypted data. The offset into the output byte array from which to begin writing data. The number of bytes decrypted. Implements CBC cipher mode. Initializes a new instance of the class. The iv. Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. The input data to encrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write encrypted data. The offset into the output byte array from which to begin writing data. The number of bytes encrypted. Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. The input data to decrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write decrypted data. The offset into the output byte array from which to begin writing data. The number of bytes decrypted. Implements CFB cipher mode. Initializes a new instance of the class. The iv. Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. The input data to encrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write encrypted data. The offset into the output byte array from which to begin writing data. The number of bytes encrypted. Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. The input data to decrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write decrypted data. The offset into the output byte array from which to begin writing data. The number of bytes decrypted. Implements CTR cipher mode. Initializes a new instance of the class. The iv. Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. The input data to encrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write encrypted data. The offset into the output byte array from which to begin writing data. The number of bytes encrypted. Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. The input data to decrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write decrypted data. The offset into the output byte array from which to begin writing data. The number of bytes decrypted. Implements OFB cipher mode. Initializes a new instance of the class. The iv. Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. The input data to encrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write encrypted data. The offset into the output byte array from which to begin writing data. The number of bytes encrypted. Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. The input data to decrypt. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. The output to which to write decrypted data. The offset into the output byte array from which to begin writing data. The number of bytes decrypted. Implements 3DES cipher algorithm. Initializes a new instance of the class. The key. The IV. The mode. Enable PKCS7 padding. is . Base class for signature implementations. Verifies the signature. The input. The signature. if signature was successfully verified; otherwise . Creates the signature. The input. Signed input data. Implements ECDSA digital signature algorithm. Initializes a new instance of the class. The ECDSA key. is . Verifies the signature. The input. The signature. if signature was successfully verified; otherwise . Creates the signature. The input. Signed input data. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Implements ECDSA digital signature algorithm. Initializes a new instance of the class. The ED25519Key key. is . Verifies the signature. The input. The signature. if signature was successfully verified; otherwise . Invalid signature. Creates the signature. The input. Signed input data. Invalid ED25519Key key. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Implements RSA digital signature algorithm. Initializes a new instance of the class with the SHA-1 hash algorithm. The RSA key. Initializes a new instance of the class. The RSA key. The hash algorithm to use in the digital signature. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Base class for symmetric cipher implementations. Gets the key. Initializes a new instance of the class. The key. is . Contains ECDSA (ecdsa-sha2-nistp{256,384,521}) private and public key. Gets the SSH name of the ECDSA Key. The SSH name of the ECDSA Key. Gets the HashAlgorithm to use. Gets the ECDSA public key. An array with the ASCII-encoded curve identifier (e.g. "nistp256") at index 0, and the public curve point Q at index 1. Gets the PrivateKey Bytes. Gets the object. Initializes a new instance of the class. The encoded public key data. Initializes a new instance of the class. The curve name or oid. Value of publickey. Value of privatekey. Initializes a new instance of the class. DER encoded private key data. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Contains ED25519 private and public key. Gets the name of the key. The name of the key. Gets the Ed25519 public key. An array with encoded at index 0. Gets the digital signature. Gets the PublicKey Bytes. Gets the PrivateKey Bytes. Initializes a new instance of the class. The encoded public key data. Initializes a new instance of the class. The private key data k || ENC(A) as described in RFC 8032. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Base class for asymmetric cipher algorithms. Gets the default digital signature implementation for this key. Gets the public key. The public. Gets the length of the key in bits. The bit-length of the key. Gets or sets the key comment. Signs the specified data with the key. The data to sign. Signed data. Verifies the signature. The data to verify. The signature to verify against. is signature was successfully verifies; otherwise . Contains the RSA private and public key. Gets the name of the key. The name of the key. Gets the modulus. The modulus. Gets the exponent. The exponent. Gets the D. The D. Gets the P. The P. Gets the Q. The Q. Gets the DP. The DP. Gets the DQ. The DQ. Gets the inverse Q. The inverse Q. Gets the digital signature implementation for this key. An implementation of an RSA digital signature using the SHA-1 hash algorithm. Gets the RSA public key. An array with at index 0, and at index 1. Initializes a new instance of the class. The encoded public key data. Initializes a new instance of the class. DER encoded private key data. Initializes a new instance of the class. The modulus. The exponent. The d. The p. The q. The inverse Q. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Gets the size of the message in bytes. The size of the messages in bytes. Base class for SSH host algorithms. Gets the host key name. Gets the host key data. Initializes a new instance of the class. The host key name. Signs the specified data. The data. Signed data. Verifies the signature. The data. The signature. is signature was successfully verifies; otherwise . Represents a key exchange algorithm. Occurs when the host key is received. Gets the name of the algorithm. The name of the algorithm. Gets the exchange hash. The exchange hash. Starts the key exchange algorithm. The session. The key exchange init message received from the server. Whether to send a key exchange init message in response. Finishes the key exchange algorithm. Creates the client-side cipher to use. to indicate the cipher is AEAD, to indicate the cipher is not AEAD. The client cipher. Creates the server-side cipher to use. to indicate the cipher is AEAD, to indicate the cipher is not AEAD. The server cipher. Creates the server-side hash algorithm to use. to enable encrypt-then-MAC, to use encrypt-and-MAC. The server hash algorithm. Creates the client-side hash algorithm to use. to enable encrypt-then-MAC, to use encrypt-and-MAC. The client hash algorithm. Creates the compression algorithm to use to deflate data. The compression method to deflate data. Creates the compression algorithm to use to inflate data. The compression method to inflate data. Represents base class for different key exchange algorithm implementations. Gets the session. The session. Gets or sets key exchange shared key. The shared key. Gets the exchange hash. The exchange hash. Occurs when host key received. Initializes a new instance of the class. Finishes key exchange algorithm. Creates the server side cipher to use. to indicate the cipher is AEAD, to indicate the cipher is not AEAD. Server cipher. Creates the client side cipher to use. to indicate the cipher is AEAD, to indicate the cipher is not AEAD. Client cipher. Creates the server side hash algorithm to use. to enable encrypt-then-MAC, to use encrypt-and-MAC. The server-side hash algorithm. Creates the client side hash algorithm to use. to enable encrypt-then-MAC, to use encrypt-and-MAC. The client-side hash algorithm. Creates the compression algorithm to use to deflate data. The compression method. Creates the compression algorithm to use to inflate data. The decompression method. Determines whether the specified host key can be trusted. The host algorithm. if the specified host can be trusted; otherwise, . Validates the exchange hash. if exchange hash is valid; otherwise . Calculates key exchange hash value. Key exchange hash. Hashes the specified data bytes. The hash data. The hash of the data. Sends SSH message to the server. The message. Generates the session key. The shared key. The exchange hash. The key. The size. The session key. Generates the session key. The shared key. The exchange hash. The p. The session id. The session key. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Provides the implementation of "diffie-hellman-groupN" algorithms. Initializes a new instance of the class. The name of the key exchange algorithm. The Diffie-Hellman parameters to be used. The hash algorithm to be used. , , or is . is not a valid hash algorithm. Provides the implementation of "diffie-hellman-group-exchange" algorithms. Initializes a new instance of the class. The name of the key exchange algorithm. The hash algorithm to be used. or is . is not a valid hash algorithm. Initializes a new instance of the class. The name of the key exchange algorithm. The hash algorithm to be used. The minimum size in bits of an acceptable group. The preferred size in bits of an acceptable group. The maximum size in bits of an acceptable group. or is . is not a valid hash algorithm. is not between and . Specifies client payload. Specifies server payload. Specifies client exchange. Specifies server exchange. Specifies host key data. Specifies signature data. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. Gets algorithm name. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. The implementation of start key exchange algorithm. The implementation of finish key exchange algorithm. Hashes the specified data bytes. The hash data. The hash of the data. Handles the server DH reply message. The host key. The server exchange value. The signature. Gets the parameter of the curve. The parameter of the curve. Finishes key exchange algorithm. Handles the server DH reply message. The host key. The server exchange value. The signature. Gets algorithm name. Gets Curve Parameter. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. Hashes the specified data bytes. The hash data. The hash of the data. Gets algorithm name. Gets Curve Parameter. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. Hashes the specified data bytes. The hash data. The hash of the data. Gets algorithm name. Gets Curve Parameter. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. Hashes the specified data bytes. The hash data. The hash of the data. Gets the size of the message in bytes. The size of the messages in bytes. Gets algorithm name. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. Hashes the specified data bytes. The hash data. The hash of the data. Handles the server hybrid reply message. The host key. The server exchange value. The signature. Gets algorithm name. Gets the size, in bits, of the computed hash code. The size, in bits, of the computed hash code. Hashes the specified data bytes. The hash data. The hash of the data. Handles the server DH reply message. The host key. The server exchange value. The signature. Implements key support for host algorithm. Gets the key used in this host key algorithm. Gets the signature implementation used in this host key algorithm. Gets the encoded public key data. Gets the encoded public key data. The encoded public key data. Initializes a new instance of the class. The signature format identifier. The key used in this host key algorithm. Initializes a new instance of the class. The signature format identifier. The key used in this host key algorithm. The signature implementation used in this host key algorithm. The key used by is intended to be equal to . This is not verified. Signs and encodes the specified data. The data to be signed. The encoded signature. Verifies the encoded signature. The data to verify the signature against. The encoded signature data, as the signature format identifier followed by the signature blob. if is the result of signing and encoding with the corresponding private key to . See . Verifies the signature. The data to verify the signature against. The signature blob in format specific encoding. if is the result of signing with the corresponding private key to . Gets or sets the signature format identifier. The signature format identifier. Gets the signature. The signature. Gets the size of the message in bytes. The size of the messages in bytes. Called when type specific data need to be loaded. Called when type specific data need to be saved. Facilitates (de)serializing encoded public key data in the format specified by RFC 4253 section 6.6. See https://datatracker.ietf.org/doc/html/rfc4253#section-6.6. Gets the public key format identifier. Gets the public key constituents. Initializes a new instance of the class. The encoded public key data. Initializes a new instance of the class. The public key format identifier. The public key constituents. Basic factory for creating new services. Defines the number of times an authentication attempt with any given can result in before it is disregarded. Creates an . An . Creates a new with the specified and . The to use for creating a new session. A factory to create instances. An for the specified . is . is . Creates a new in a given and with the specified operation timeout and encoding. The to create the in. The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. The encoding. The factory to use for creating SFTP messages. An . Create a new . A . Creates a new in a given and with the specified operation timeout. The to create the in. The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. An . Creates a new instance. An . Creates an that encloses a path in double quotes, and escapes any embedded double quote with a backslash. An that encloses a path in double quotes, and escapes any embedded double quote with a backslash. with a shell. Creates an that can be used to establish a connection to the server identified by the specified . A detailing the server to establish a connection to. A factory to create instances. An that can be used to establish a connection to the server identified by the specified . is . is . The value of is not supported. Creates an that deals with the SSH protocol version exchange. An . Creates a factory to create instances. An . Provides functionality to connect and interact with SSH server. Specifies maximum packet size defined by the protocol. 68536 (64 KB + 3000 bytes). Holds the initial local window size for the channels. 2147483647 (2^31 - 1) bytes. We currently do not define a maximum (remote) window size. Holds the maximum size of channel data packets that we receive. 64 KB. This is the maximum size (in bytes) we support for the data (payload) of a SSH_MSG_CHANNEL_DATA message we receive. We currently do not enforce this limit. Holds the factory to use for creating new services. Holds an object that is used to ensure only a single thread can write to at any given time. This is also used to ensure that is incremented atomatically. Holds an object that is used to ensure only a single thread can dispose at any given time. This is also used to ensure that will not be disposed while performing a given operation or set of operations on . Holds an object that is used to ensure only a single thread can connect at any given time. Holds metadata about session messages. Holds a that is signaled when the message listener loop has completed. Specifies outbound packet number. Specifies incoming packet number. WaitHandle to signal that last service request was accepted. WaitHandle to signal that exception was thrown by another thread. WaitHandle to signal that key exchange was completed. Exception that need to be thrown by waiting thread. Specifies whether connection is authenticated. Specifies whether user issued Disconnect command or not. Indicates whether it is the init kex. Indicates whether server supports strict key exchange. 1.10. Holds connection socket. Gets the session semaphore that controls session channels. The session semaphore. Gets the next channel number. The next channel number. Gets a value indicating whether the session is connected. if the session is connected; otherwise, . This methods returns in all but the following cases: The is disposed. The SSH_MSG_DISCONNECT message - which is used to disconnect from the server - has been sent. The client has not been authenticated successfully. The listener thread - which is used to receive messages from the server - has stopped. The socket used to communicate with the server is no longer connected. Gets the session id. The session id, or if the client has not been authenticated. Gets the client init message. The client init message. Gets the server version string. The server version. Gets the client version string. The client version. Gets the connection info. The connection info. Gets the logger factory for this session. The logger factory for this session. Occurs when an error occurred. A known misspelling of "occurred" preserved for backward compatibility. Occurs when session has been disconnected from the server. Occurs when server identification received. Occurs when host key received. Occurs when message is received from the server. Occurs when message is received from the server. Occurs when message is received from the server. Occurs when message is received from the server. Occurs when message is received from the server. Occurs when message is received from the server. Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when a message is received from the SSH server. Occurs when a message is received from the SSH server. Occurs when a message is received from the SSH server. Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Occurs when message received Initializes a new instance of the class. The connection info. The factory to use for creating new services. A factory to create instances. is . is . is . Connects to the server. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Asynchronously connects to the server. The to observe. A that represents the asynchronous connect operation. Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. SSH session could not be established. Authentication of SSH session failed. Failed to establish proxy connection. Disconnects from the server. This sends a SSH_MSG_DISCONNECT message to the server, waits for the server to close the socket on its end and subsequently closes the client socket. Waits for the specified handle or the exception handle for the receive thread to signal within the connection timeout. The wait handle. A received package was invalid or failed the message integrity check. None of the handles are signaled in time and the session is not disconnecting. A socket error was signaled while receiving messages from the server. When neither handles are signaled in time and the session is not closing, then the session is disconnected. Waits for the specified handle or the exception handle for the receive thread to signal within the specified timeout. The wait handle. The time to wait for any of the handles to become signaled. A received package was invalid or failed the message integrity check. None of the handles are signaled in time and the session is not disconnecting. A socket error was signaled while receiving messages from the server. When neither handles are signaled in time and the session is not closing, then the session is disconnected. Waits for the specified to receive a signal, using a to specify the time interval. The that should be signaled. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. A . Waits for the specified to receive a signal, using a to specify the time interval. The that should be signaled. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. When this method returns , contains the . A . Waits for the specified to receive a signal, using a to specify the time interval. The that should be signaled. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. When this method returns , contains the . A . Waits for the specified handle or the exception handle for the receive thread to signal within the connection timeout. The wait handle. A received package was invalid or failed the message integrity check. None of the handles are signaled in time and the session is not disconnecting. A socket error was signaled while receiving messages from the server. When neither handles are signaled in time and the session is not closing, then the session is disconnected. Waits for the specified handle or the exception handle for the receive thread to signal within the specified timeout. The wait handle. The time to wait for any of the handles to become signaled. A received package was invalid or failed the message integrity check. None of the handles are signaled in time and the session is not disconnecting. A socket error was signaled while receiving messages from the server. Sends a message to the server. The message to send. The client is not connected. The operation timed out. The size of the packet exceeds the maximum size defined by the protocol. Sends an SSH packet to the server. A byte array containing the packet to send. The offset of the packet. The length of the packet. Client is not connected to the server. The send is performed in a dispose lock to avoid and/or when sending the packet. This method is only to be used when the connection is established, as the locking overhead is not required while establishing the connection. Sends a message to the server. The message to send. if the message was sent to the server; otherwise, . The size of the packet exceeds the maximum size defined by the protocol. This methods returns when the attempt to send the message results in a or a . Receives the message from the server. The incoming SSH message, or if the connection with the SSH server was closed. We need no locking here since all messages are read by a single thread. Called when received. message. Called when received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when client is disconnecting from the server. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Called when message received. message. Registers SSH message with the session. The name of the message to register with the session. Unregister SSH message from the session. The name of the message to unregister with the session. Loads a message from a given buffer. An array of bytes from which to construct the message. The zero-based byte offset in at which to begin reading. The number of bytes to load. A message constructed from . The type of the message is not supported. Performs a blocking read on the socket until bytes are received. The to read from. An array of type that is the storage location for the received data. The position in parameter to store the received data. The number of bytes to read. The number of bytes read. The read has timed-out. The read failed. Shuts down and disposes the socket. Listens for incoming message from the server and handles them. This method run as a task on separate thread. Raises the event. The . Resets connection-specific information to ensure state of a previous connection does not affect new connections. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Gets the connection info. The connection info. Gets a that can be used to wait for the message listener loop to complete. A that can be used to wait for the message listener loop to complete, or when the session has not been connected. Create a new SSH session channel. A new SSH session channel. Create a new channel for a locally forwarded TCP/IP port. A new channel for a locally forwarded TCP/IP port. Creates a "forwarded-tcpip" SSH channel. The number of the remote channel. The window size of the remote channel. The data packet size of the remote channel. A new "forwarded-tcpip" SSH channel. Sends a message to the server. The message to send. The client is not connected. The operation timed out. The size of the packet exceeds the maximum size defined by the protocol. Sends a message to the server. The message to send. if the message was sent to the server; otherwise, . The size of the packet exceeds the maximum size defined by the protocol. This methods returns when the attempt to send the message results in a or a . Represents the result of a wait operations. The was signaled within the specified interval. The was not signaled within the specified interval. The session is in a disconnected state. The session is in a failed state. Implementation of the SSH File Transfer Protocol (SFTP) over SSH. Holds the instance that is used to communicate to the SFTP server. Holds the operation timeout. Holds the size of the buffer. Gets or sets the operation timeout. The timeout to wait until an operation completes. The default value is negative one (-1) milliseconds, which indicates an infinite timeout period. represents a value that is less than -1 or greater than milliseconds. Gets or sets the maximum size of the buffer in bytes. The size of the buffer. The default buffer size is 32768 bytes (32 KB). For write operations, this limits the size of the payload for individual SSH_FXP_WRITE messages. The actual size is always capped at the maximum packet size supported by the peer (minus the size of protocol fields). For read operations, this controls the size of the payload which is requested from the peer in a SSH_FXP_READ message. The peer will send the requested number of bytes in a SSH_FXP_DATA message, possibly split over multiple SSH_MSG_CHANNEL_DATA messages. To optimize the size of the SSH packets sent by the peer, the actual requested size will take into account the size of the SSH_FXP_DATA protocol fields. The size of the each individual SSH_FXP_DATA message is limited to the local maximum packet size of the channel, which is set to 64 KB for SSH.NET. However, the peer can limit this even further. The method was called after the client was disposed. Gets a value indicating whether this client is connected to the server and the SFTP session is open. if this client is connected and the SFTP session is open; otherwise, . The method was called after the client was disposed. Gets remote working directory. Client is not connected. The method was called after the client was disposed. Gets sftp protocol version. Client is not connected. The method was called after the client was disposed. Gets the current SFTP session. The current SFTP session. Initializes a new instance of the class. The connection info. is . Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication password. is . is invalid. -or- is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication password. is . is invalid. -or- is contains only whitespace characters. Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication private key file(s) . is . is invalid. -or- is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication private key file(s) . is . is invalid. -or- is or contains only whitespace characters. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. is . If is , the connection info will be disposed when this instance is disposed. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. The factory to use for creating new services. is . is . If is , the connection info will be disposed when this instance is disposed. Changes remote directory to path. New directory path. is . Client is not connected. Permission to change directory denied by remote host. -or- A SSH command was denied by the server. was not found on the remote host. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously requests to change the current working directory to the specified path. The new working directory. The token to monitor for cancellation requests. A that tracks the asynchronous change working directory request. is . Client is not connected. Permission to change directory denied by remote host. -or- A SSH command was denied by the server. was not found on the remote host. A SSH error where is the message from the remote host. The method was called after the client was disposed. Changes permissions of file(s) to specified mode. File(s) path, may match multiple files. The mode. is . Client is not connected. Permission to change permission on the path(s) was denied by the remote host. -or- A SSH command was denied by the server. was not found on the remote host. A SSH error where is the message from the remote host. The method was called after the client was disposed. Creates remote directory specified by path. Directory path to create. is or contains only whitespace characters. Client is not connected. Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously requests to create a remote directory specified by path. Directory path to create. The to observe. A that represents the asynchronous create directory operation. is or contains only whitespace characters. Client is not connected. Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Deletes remote directory specified by path. Directory to be deleted path. is or contains only whitespace characters. Client is not connected. was not found on the remote host. Permission to delete the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Deletes remote file specified by path. File to be deleted path. is or contains only whitespace characters. Client is not connected. was not found on the remote host. Permission to delete the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Renames remote file from old path to new path. Path to the old file location. Path to the new file location. is . -or- or is . Client is not connected. Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Renames remote file from old path to new path. Path to the old file location. Path to the new file location. if set to then perform a posix rename. is . -or- or is . Client is not connected. Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously renames remote file from old path to new path. Path to the old file location. Path to the new file location. The to observe. A that represents the asynchronous rename operation. is . -or- or is . Client is not connected. Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Creates a symbolic link from old path to new path. The old path. The new path. is . -or- is or contains only whitespace characters. Client is not connected. Permission to create the symbolic link was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Retrieves list of files in remote directory. The path. The list callback. A list of files. is . Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Asynchronously enumerates the files in remote directory. The path. The to observe. An of that represents the asynchronous enumeration operation. The enumeration contains an async stream of for the files in the directory specified by . is . Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Begins an asynchronous operation of retrieving list of files in remote directory. The path. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The list callback. An that references the asynchronous operation. The method was called after the client was disposed. Ends an asynchronous operation of retrieving list of files in remote directory. The pending asynchronous SFTP request. A list of files. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . Gets reference to remote file or directory. The path. A reference to file object. Client is not connected. was not found on the remote host. is . The method was called after the client was disposed. Gets reference to remote file or directory. The path. The to observe. A that represents the get operation. The task result contains the reference to file object. Client is not connected. was not found on the remote host. is . The method was called after the client was disposed. Checks whether file or directory exists. The path. if directory or file exists; otherwise . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Checks whether file or directory exists. The path. The to observe. A that represents the exists operation. The task result contains if directory or file exists; otherwise . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Begins an asynchronous file downloading into the stream. The path. The output. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. Begins an asynchronous file downloading into the stream. The path. The output. The method to be called when the asynchronous write operation is completed. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. Begins an asynchronous file downloading into the stream. The path. The output. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The download callback. An that references the asynchronous operation. is . is or contains only whitespace characters. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. Ends an asynchronous file downloading into the stream. The pending asynchronous SFTP request. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . Client is not connected. Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. The path was not found on the remote host. A SSH error where is the message from the remote host. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. If the remote file already exists, it is overwritten and truncated. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. The method to be called when the asynchronous write operation is completed. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. If the remote file already exists, it is overwritten and truncated. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The upload callback. An that references the asynchronous operation. is . is or contains only whitespace characters. Client is not connected. Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. If the remote file already exists, it is overwritten and truncated. Begins an asynchronous uploading the stream into remote file. Data input stream. Remote file path. Specified whether an existing file can be overwritten. The method to be called when the asynchronous write operation is completed. A user-provided object that distinguishes this particular asynchronous write request from other requests. The upload callback. An that references the asynchronous operation. is . is or contains only whitespace characters. The method was called after the client was disposed. Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. When refers to an existing file, set to to overwrite and truncate that file. If is , the upload will fail and will throw an . Ends an asynchronous uploading the stream into remote file. The pending asynchronous SFTP request. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . Client is not connected. The directory of the file was not found on the remote host. Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. A SSH error where is the message from the remote host. Gets status using statvfs@openssh.com request. The path. A instance that contains file status information. Client is not connected. is . The method was called after the client was disposed. Asynchronously gets status using statvfs@openssh.com request. The path. The to observe. A that represents the status operation. The task result contains the instance that contains file status information. Client is not connected. is . The method was called after the client was disposed. Appends lines to a file, creating the file if it does not already exist. The file to append the lines to. The file is created if it does not already exist. The lines to append to the file. is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a byte-order mark (BOM). Appends lines to a file by using a specified encoding, creating the file if it does not already exist. The file to append the lines to. The file is created if it does not already exist. The lines to append to the file. The character encoding to use. is . -or- is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Appends the specified string to the file, creating the file if it does not already exist. The file to append the specified string to. The string to append to the file. is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). Appends the specified string to the file, creating the file if it does not already exist. The file to append the specified string to. The string to append to the file. The character encoding to use. is . -or- is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Creates a that appends UTF-8 encoded text to the specified file, creating the file if it does not already exist. The path to the file to append to. A that appends text to a file using UTF-8 encoding without a Byte-Order Mark (BOM). is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Creates a that appends text to a file using the specified encoding, creating the file if it does not already exist. The path to the file to append to. The character encoding to use. A that appends text to a file using the specified encoding. is . -or- is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. Creates or overwrites a file in the specified path. The path and name of the file to create. A that provides read/write access to the file specified in path. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the target file already exists, it is first truncated to zero bytes. Creates or overwrites the specified file. The path and name of the file to create. The maximum number of bytes buffered for reads and writes to the file. A that provides read/write access to the file specified in path. is . Client is not connected. The specified path is invalid, or its directory was not found on the remote host. The method was called after the client was disposed. If the target file already exists, it is first truncated to zero bytes. Deletes the specified file or directory. The name of the file or directory to be deleted. Wildcard characters are not supported. is . Client is not connected. was not found on the remote host. The method was called after the client was disposed. Returns the date and time the specified file or directory was last accessed. The file or directory for which to obtain access date and time information. A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. is . Client is not connected. The method was called after the client was disposed. Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. The file or directory for which to obtain access date and time information. A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. is . Client is not connected. The method was called after the client was disposed. Returns the date and time the specified file or directory was last written to. The file or directory for which to obtain write date and time information. A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. is . Client is not connected. The method was called after the client was disposed. Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. The file or directory for which to obtain write date and time information. A structure set to the date and time that the specified file or directory was last written to. This value is expressed in UTC time. is . Client is not connected. The method was called after the client was disposed. Opens a on the specified path with read/write access. The file to open. A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. An unshared that provides access to the specified file, with the specified mode and read/write access. is . Client is not connected. The method was called after the client was disposed. Opens a on the specified path, with the specified mode and access. The file to open. A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. A value that specifies the operations that can be performed on the file. An unshared that provides access to the specified file, with the specified mode and access. is . Client is not connected. The method was called after the client was disposed. Asynchronously opens a on the specified path, with the specified mode and access. The file to open. A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. A value that specifies the operations that can be performed on the file. The to observe. A that represents the asynchronous open operation. The task result contains the that provides access to the specified file, with the specified mode and access. is . Client is not connected. The method was called after the client was disposed. Opens an existing file for reading. The file to be opened for reading. A read-only on the specified path. is . Client is not connected. The method was called after the client was disposed. Opens an existing UTF-8 encoded text file for reading. The file to be opened for reading. A on the specified path. is . Client is not connected. The method was called after the client was disposed. Opens a file for writing. The file to be opened for writing. An unshared object on the specified path with access. is . Client is not connected. The method was called after the client was disposed. If the file does not exist, it is created. Opens a binary file, reads the contents of the file into a byte array, and closes the file. The file to open for reading. A byte array containing the contents of the file. is . Client is not connected. The method was called after the client was disposed. Opens a text file, reads all lines of the file using UTF-8 encoding, and closes the file. The file to open for reading. A string array containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Opens a file, reads all lines of the file with the specified encoding, and closes the file. The file to open for reading. The encoding applied to the contents of the file. A string array containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Opens a text file, reads all lines of the file with the UTF-8 encoding, and closes the file. The file to open for reading. A string containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Opens a file, reads all lines of the file with the specified encoding, and closes the file. The file to open for reading. The encoding applied to the contents of the file. A string containing all lines of the file. is . Client is not connected. The method was called after the client was disposed. Reads the lines of a file with the UTF-8 encoding. The file to read. The lines of the file. The lines are enumerated lazily. The opening of the file and any resulting exceptions occur upon enumeration. is . Thrown eagerly. Client is not connected upon enumeration. The return value is enumerated after the client is disposed. Read the lines of a file that has a specified encoding. The file to read. The encoding that is applied to the contents of the file. The lines of the file. The lines are enumerated lazily. The opening of the file and any resulting exceptions occur upon enumeration. is . Thrown eagerly. Client is not connected upon enumeration. The return value is enumerated after the client is disposed. Sets the date and time the specified file was last accessed. The file for which to set the access date and time information. A containing the value to set for the last access date and time of path. This value is expressed in local time. Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed. The file for which to set the access date and time information. A containing the value to set for the last access date and time of path. This value is expressed in UTC time. Sets the date and time that the specified file was last written to. The file for which to set the date and time information. A containing the value to set for the last write date and time of path. This value is expressed in local time. Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to. The file for which to set the date and time information. A containing the value to set for the last write date and time of path. This value is expressed in UTC time. Gets the of the file on the path. The path to the file. The of the file on the path. is . Client is not connected. was not found on the remote host. The method was called after the client was disposed. Gets the of the file on the path. The path to the file. The to observe. A that represents the attribute retrieval operation. The task result contains the of the file on the path. is . Client is not connected. was not found on the remote host. The method was called after the client was disposed. Sets the specified of the file on the specified path. The path to the file. The desired . is . Client is not connected. The method was called after the client was disposed. Synchronizes the directories. The source path. The destination path. The search pattern. A list of uploaded files. is . is or contains only whitespace. was not found on the remote host. If a problem occurs while copying the file. Begins the synchronize directories. The source path. The destination path. The search pattern. The async callback. The state. An that represents the asynchronous directory synchronization. or is . is or contains only whitespace. If a problem occurs while copying the file. Ends the synchronize directories. The async result. A list of uploaded files. The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . The destination path was not found on the remote host. Internals the list directory. The path. An that references the asynchronous request. The list callback. A list of files in the specified directory. is . Client not connected. Called when client is connected to the server. Called when client is disconnecting from the server. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. None. SSH_FXF_READ. SSH_FXF_WRITE. SSH_FXF_APPEND. SSH_FXF_CREAT. SSH_FXF_TRUNC. SSH_FXF_EXCL. Represents SFTP file information. Gets the file attributes. Gets the full path of the file or directory. The full path of the file or directory. Gets the name of the file or directory. The name of the file or directory. For directories, this is the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory. Gets or sets the time the current file or directory was last accessed. The time that the current file or directory was last accessed. Gets or sets the time when the current file or directory was last written to. The time the current file was last written. Gets or sets the time, in coordinated universal time (UTC), the current file or directory was last accessed. The time that the current file or directory was last accessed. Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. The time the current file was last written. Gets the size, in bytes, of the current file. The size of the current file in bytes. Gets or sets file user id. File user id. Gets or sets file group id. File group id. Gets a value indicating whether file represents a socket. if file represents a socket; otherwise, . Gets a value indicating whether file represents a symbolic link. if file represents a symbolic link; otherwise, . Gets a value indicating whether file represents a regular file. if file represents a regular file; otherwise, . Gets a value indicating whether file represents a block device. if file represents a block device; otherwise, . Gets a value indicating whether file represents a directory. if file represents a directory; otherwise, . Gets a value indicating whether file represents a character device. if file represents a character device; otherwise, . Gets a value indicating whether file represents a named pipe. if file represents a named pipe; otherwise, . Gets or sets a value indicating whether the owner can read from this file. if owner can read from this file; otherwise, . Gets or sets a value indicating whether the owner can write into this file. if owner can write into this file; otherwise, . Gets or sets a value indicating whether the owner can execute this file. if owner can execute this file; otherwise, . Gets or sets a value indicating whether the group members can read from this file. if group members can read from this file; otherwise, . Gets or sets a value indicating whether the group members can write into this file. if group members can write into this file; otherwise, . Gets or sets a value indicating whether the group members can execute this file. if group members can execute this file; otherwise, . Gets or sets a value indicating whether the others can read from this file. if others can read from this file; otherwise, . Gets or sets a value indicating whether the others can write into this file. if others can write into this file; otherwise, . Gets or sets a value indicating whether the others can execute this file. if others can execute this file; otherwise, . Sets file permissions. The mode. Permanently deletes a file on remote machine. Permanently deletes a file on the remote machine. The to observe. A that represents the asynchronous delete operation. Moves a specified file to a new location on remote machine, providing the option to specify a new file name. The path to move the file to, which can specify a different file name. is . Updates file status on the server. Represents a factory for creating SFTP response messages. Creates a SFTP response message for the specified protocol version and message type, and with the specified . The protocol version. The message type. The . A . Represents an SFTP session. Gets the SFTP protocol version. The SFTP protocol version. Gets the remote working directory. The remote working directory. Changes the current working directory to the specified path. The new working directory. Asynchronously requests to change the current working directory to the specified path. The new working directory. The token to monitor for cancellation requests. A that tracks the asynchronous change working directory request. Resolves a given path into an absolute path on the server. The path to resolve. The absolute path. Asynchronously resolves a given path into an absolute path on the server. The path to resolve. The token to monitor for cancellation requests. A task that represents an asynchronous operation to resolve into an absolute path. The value of its contains the absolute path of the specified path. Asynchronously performs a SSH_FXP_FSTAT request. The handle. The file attributes. Asynchronously performs a SSH_FXP_FSTAT request. The handle. The token to monitor for cancellation requests. A task the represents the asynchronous SSH_FXP_FSTAT request. The value of its contains the file attributes of the specified handle. Performs SSH_FXP_STAT request. The path. File attributes. Performs SSH_FXP_LSTAT request. The path. File attributes. Asynchronously performs SSH_FXP_LSTAT request. The path. The token to monitor for cancellation requests. A task the represents the asynchronous SSH_FXP_LSTAT request. The value of its contains the file attributes of the specified path. Performs SSH_FXP_MKDIR request. The path. Asynchronously performs SSH_FXP_MKDIR request. The path. The to observe. A that represents the asynchronous SSH_FXP_MKDIR operation. Performs a SSH_FXP_OPEN request. The path. The flags. The file handle for the specified path. Asynchronously performs a SSH_FXP_OPEN request. The path. The flags. The token to monitor for cancellation requests. A task the represents the asynchronous SSH_FXP_OPEN request. The value of its contains the file handle of the specified path. Performs a SSH_FXP_OPENDIR request. The path. A file handle for the specified path. Asynchronously performs a SSH_FXP_OPENDIR request. The path. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_OPENDIR request. The value of its contains the handle of the specified path. Performs posix-rename@openssh.com extended request. The old path. The new path. Performs SSH_FXP_READ request. The handle. The offset. The length. The data that was read, or an empty array when the end of the file was reached. Asynchronously performs a SSH_FXP_READ request. The handle to the file to read from. The offset in the file to start reading from. The number of bytes to read. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_READ request. The value of its contains the data read from the file, or an empty array when the end of the file is reached. Performs a SSH_FXP_READDIR request. The handle of the directory to read. A where the key is the name of a file in the directory and the value is the of the file. Performs a SSH_FXP_READDIR request. The handle of the directory to read. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_READDIR request. The value of its contains a where the key is the name of a file in the directory and the value is the of the file. Performs a SSH_FXP_REMOVE request. The path. Asynchronously performs a SSH_FXP_REMOVE request. The path. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_REMOVE request. Performs a SSH_FXP_RENAME request. The old path. The new path. Asynchronously performs a SSH_FXP_RENAME request. The old path. The new path. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_RENAME request. Performs SSH_FXP_RMDIR request. The path. Asynchronously performs an SSH_FXP_RMDIR request. The path. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_RMDIR request. Performs SSH_FXP_SETSTAT request. The path. The attributes. Performs a statvfs@openssh.com extended request. The path. The file system information for the specified path. Asynchronously performs a statvfs@openssh.com extended request. The path. The token to monitor for cancellation requests. A task that represents the statvfs@openssh.com extended request. The value of its contains the file system information for the specified path. Performs SSH_FXP_SYMLINK request. The linkpath. The targetpath. Performs SSH_FXP_FSETSTAT request. The handle. The attributes. Performs SSH_FXP_WRITE request. The handle. The the zero-based offset (in bytes) relative to the beginning of the file that the write must start at. The buffer holding the data to write. the zero-based offset in at which to begin taking bytes to write. The length (in bytes) of the data to write. The wait event handle if needed. The callback to invoke when the write has completed. Asynchronouly performs a SSH_FXP_WRITE request. The handle. The the zero-based offset (in bytes) relative to the beginning of the file that the write must start at. The buffer holding the data to write. the zero-based offset in at which to begin taking bytes to write. The length (in bytes) of the data to write. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_WRITE request. Performs a SSH_FXP_CLOSE request. The handle. Performs a SSH_FXP_CLOSE request. The handle. The token to monitor for cancellation requests. A task that represents the asynchronous SSH_FXP_CLOSE request. Calculates the optimal size of the buffer to read data from the channel. The buffer size configured on the client. The optimal size of the buffer to read data from the channel. Calculates the optimal size of the buffer to write data on the channel. The buffer size configured on the client. The file handle. The optimal size of the buffer to write data on the channel. Currently, we do not take the remote window size into account. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Initializes a new instance of the class. The protocol version. The request id. Specifies the path name of the new link to create. Specifies the path of a target object to which the newly created link will refer. In the case of a symbolic link, this path may not exist. if set to the link should be a hard link, or a second directory entry referring to the same file or directory object. The status action. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the size of the message in bytes. The size of the messages in bytes. Gets the zero-based offset (in bytes) relative to the beginning of the file that the write must start at. The zero-based offset (in bytes) relative to the beginning of the file that the write must start at. Gets the buffer holding the data to write. The buffer holding the data to write. Gets the zero-based offset in at which to begin taking bytes to write. The zero-based offset in at which to begin taking bytes to write. Gets the length (in bytes) of the data to write. The length (in bytes) of the data to write. Extended Reply Info. Loads the data from the stream into the instance. The stream. Encapsulates the results of an asynchronous download operation. Gets or sets a value indicating whether to cancel asynchronous download operation. if download operation to be canceled; otherwise, . Download operation will be canceled after finishing uploading current buffer. Gets the number of downloaded bytes. Initializes a new instance of the class. The async callback. The state. Updates asynchronous operation status information. Number of downloaded bytes. Represents SFTP file information. Gets the file attributes. Initializes a new instance of the class. The SFTP session. Full path of the directory or file. Attributes of the directory or file. or is . Gets the full path of the file or directory. The full path of the file or directory. Gets the name of the file or directory. The name of the file or directory. For directories, this is the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory. Gets or sets the time the current file or directory was last accessed. The time that the current file or directory was last accessed. Gets or sets the time when the current file or directory was last written to. The time the current file was last written. Gets or sets the time, in coordinated universal time (UTC), the current file or directory was last accessed. The time that the current file or directory was last accessed. Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. The time the current file was last written. Gets the size, in bytes, of the current file. The size of the current file in bytes. Gets or sets file user id. File user id. Gets or sets file group id. File group id. Gets a value indicating whether file represents a socket. if file represents a socket; otherwise, . Gets a value indicating whether file represents a symbolic link. if file represents a symbolic link; otherwise, . Gets a value indicating whether file represents a regular file. if file represents a regular file; otherwise, . Gets a value indicating whether file represents a block device. if file represents a block device; otherwise, . Gets a value indicating whether file represents a directory. if file represents a directory; otherwise, . Gets a value indicating whether file represents a character device. if file represents a character device; otherwise, . Gets a value indicating whether file represents a named pipe. if file represents a named pipe; otherwise, . Gets or sets a value indicating whether the owner can read from this file. if owner can read from this file; otherwise, . Gets or sets a value indicating whether the owner can write into this file. if owner can write into this file; otherwise, . Gets or sets a value indicating whether the owner can execute this file. if owner can execute this file; otherwise, . Gets or sets a value indicating whether the group members can read from this file. if group members can read from this file; otherwise, . Gets or sets a value indicating whether the group members can write into this file. if group members can write into this file; otherwise, . Gets or sets a value indicating whether the group members can execute this file. if group members can execute this file; otherwise, . Gets or sets a value indicating whether the others can read from this file. if others can read from this file; otherwise, . Gets or sets a value indicating whether the others can write into this file. if others can write into this file; otherwise, . Gets or sets a value indicating whether the others can execute this file. if others can execute this file; otherwise, . Sets file permissions. The mode. Permanently deletes a file on remote machine. Moves a specified file to a new location on remote machine, providing the option to specify a new file name. The path to move the file to, which can specify a different file name. is . Updates file status on the server. Returns a that represents this instance. A that represents this instance. Contains SFTP file attributes. Gets or sets the local time the current file or directory was last accessed. The local time that the current file or directory was last accessed. Gets or sets the local time when the current file or directory was last written to. The local time the current file was last written. Gets or sets the UTC time the current file or directory was last accessed. The UTC time that the current file or directory was last accessed. Gets or sets the UTC time when the current file or directory was last written to. The UTC time the current file was last written. Gets or sets the size, in bytes, of the current file. The size of the current file in bytes. Gets or sets file user id. File user id. Gets or sets file group id. File group id. Gets a value indicating whether file represents a socket. if file represents a socket; otherwise, . Gets a value indicating whether file represents a symbolic link. if file represents a symbolic link; otherwise, . Gets a value indicating whether file represents a regular file. if file represents a regular file; otherwise, . Gets a value indicating whether file represents a block device. if file represents a block device; otherwise, . Gets a value indicating whether file represents a directory. if file represents a directory; otherwise, . Gets a value indicating whether file represents a character device. if file represents a character device; otherwise, . Gets a value indicating whether file represents a named pipe. if file represents a named pipe; otherwise, . Gets or sets a value indicating whether the setuid bit is set. if the setuid bit is set; otherwise, . Gets or sets a value indicating whether the setgid bit is set. if the setgid bit is set; otherwise, . Gets or sets a value indicating whether the sticky bit is set. if the sticky bit is set; otherwise, . Gets or sets a value indicating whether the owner can read from this file. if owner can read from this file; otherwise, . Gets or sets a value indicating whether the owner can write into this file. if owner can write into this file; otherwise, . Gets or sets a value indicating whether the owner can execute this file. if owner can execute this file; otherwise, . Gets or sets a value indicating whether the group members can read from this file. if group members can read from this file; otherwise, . Gets or sets a value indicating whether the group members can write into this file. if group members can write into this file; otherwise, . Gets or sets a value indicating whether the group members can execute this file. if group members can execute this file; otherwise, . Gets or sets a value indicating whether the others can read from this file. if others can read from this file; otherwise, . Gets or sets a value indicating whether the others can write into this file. if others can write into this file; otherwise, . Gets or sets a value indicating whether the others can execute this file. if others can execute this file; otherwise, . Gets the extensions. The extensions. Sets the POSIX permissions for this file. The permission mode as an octal number (e.g., 755, 644, 1777). has more than 4 digits or cannot be interpreted as an octal number. Returns a byte array representing the current . A byte array representing the current . Exposes a around a remote SFTP file, supporting both synchronous and asynchronous read and write operations. Initializes a new instance of the class with the specified handle, and the maximum number of pending reads. The file handle. The SFTP session. The size of a individual read-ahead chunk. The starting offset in the file. The maximum number of pending reads. The size of the file, if known; otherwise, . The initial number of pending reads. Gets a value indicating whether timeout properties are usable for . in all cases. Gets the name of the path that was used to construct the current . The name of the path that was used to construct the current . Gets the operating system file handle for the file that the current encapsulates. The operating system file handle for the file that the current encapsulates. Gets or sets the operation timeout. The timeout. Contains file system information exposed by statvfs@openssh.com request. Gets the file system block size. The file system block size. Gets the fundamental file system size of the block. The fundamental file system block size. Gets the total blocks. The total blocks. Gets the free blocks. The free blocks. Gets the available blocks. The available blocks. Gets the total nodes. The total nodes. Gets the free nodes. The free nodes. Gets the available nodes. The available nodes. Gets the sid. The sid. Gets a value indicating whether this instance is read only. if this instance is read only; otherwise, . Gets a value indicating whether [supports set uid]. if [supports set uid]; otherwise, . Gets the max name length. The max name length. Initializes a new instance of the class. The bsize. The frsize. The blocks. The bfree. The bavail. The files. The ffree. The favail. The sid. The flag. The namemax. Encapsulates the results of an asynchronous directory list operation. Gets the number of files read so far. Initializes a new instance of the class. The async callback. The state. Updates asynchronous operation status information. The files read. Gets the size of the message in bytes. The size of the messages in bytes. Writes the current message to the specified . The to write the message to. SSH_FXP_INIT. SSH_FXP_VERSION. SSH_FXP_OPEN. SSH_FXP_CLOSE. SSH_FXP_READ. SSH_FXP_WRITE. SSH_FXP_LSTAT. SSH_FXP_FSTAT. SSH_FXP_SETSTAT. SSH_FXP_FSETSTAT. SSH_FXP_OPENDIR. SSH_FXP_READDIR. SSH_FXP_REMOVE. SSH_FXP_MKDIR. SSH_FXP_RMDIR. SSH_FXP_REALPATH. SSH_FXP_STAT. SSH_FXP_RENAME. SSH_FXP_READLINK. SSH_FXP_SYMLINK. SSH_FXP_LINK. SSH_FXP_BLOCK. SSH_FXP_UNBLOCK. SSH_FXP_STATUS. SSH_FXP_HANDLE. SSH_FXP_DATA. SSH_FXP_NAME. SSH_FXP_ATTRS. SSH_FXP_EXTENDED. SSH_FXP_EXTENDED_REPLY. Represents an SFTP session. Gets the next request id for sftp session. Initializes a new instance of the class. The SSH session. The operation timeout. The character encoding to use. The factory to create SFTP responses. Performs SSH_FXP_REALPATH request. The path. if set to returns null instead of throwing an exception. The absolute path. Performs SSH_FXP_READLINK request. The path. if set to returns instead of throwing an exception. An array of where the key is the name of a file and the value is the of the file. Performs fstatvfs@openssh.com extended request. The file handle. if set to [null on error]. A for the specified path. This operation is not supported for the current SFTP protocol version. Performs hardlink@openssh.com extended request. The old path. The new path. Calculates the optimal size of the buffer to read data from the channel. The buffer size configured on the client. The optimal size of the buffer to read data from the channel. Calculates the optimal size of the buffer to write data on the channel. The buffer size configured on the client. The file handle. The optimal size of the buffer to write data on the channel. Currently, we do not take the remote window size into account. Encapsulates the results of an asynchronous directory synchronization operation. Gets the number of files read so far. Initializes a new instance of the class. The async callback. The state. Updates asynchronous operation status information. The files read. Encapsulates the results of an asynchronous upload operation. Gets or sets a value indicating whether to cancel asynchronous upload operation. if upload operation to be canceled; otherwise, . Upload operation will be canceled after finishing uploading current buffer. Gets the number of uploaded bytes. Initializes a new instance of the class. The async callback. The state. Updates asynchronous operation status information. Number of uploaded bytes. Specifies status codes returned by the server in response to SFTP requests. SSH_FX_OK. The operation completed successfully. SSH_FX_EOF. An attempt was made to read past the end of the file, or no more directory entries were available. SSH_FX_NO_SUCH_FILE. A reference was made to a file that does not exist. SSH_FX_PERMISSION_DENIED. The user does not have sufficient permissions to perform the operation. SSH_FX_FAILURE. An error occurred, but no specific error code exists to describe the failure. SSH_FX_BAD_MESSAGE. A badly formatted packet or SFTP protocol incompatibility was detected. SSH_FX_NO_CONNECTION. A pseudo-error which indicates that the client has no connection to the server (it can only be generated locally by the client, and MUST NOT be returned by servers). SSH_FX_CONNECTION_LOST. A pseudo-error which indicates that the connection to the server has been lost (it can only be generated locally by the client, and MUST NOT be returned by servers). SSH_FX_OP_UNSUPPORTED. The operation could not be completed because the server did not support it. Represents instance of the SSH shell object. Gets a value indicating whether this shell is started. if started is started; otherwise, . Occurs when shell is starting. Occurs when shell is started. Occurs when shell is stopping. Occurs when shell is stopped. Occurs when an error occurred. Initializes a new instance of the class. The session. The input. The output. The extended output. Name of the terminal. The columns. The rows. The width. The height. The terminal modes. Size of the buffer for output stream. Initializes a new instance of the class. The session. The input. The output. The extended output. Size of the buffer for output stream. Initializes a new instance of the class. The session. The input. The output. The extended output. Size of the buffer for output stream. Disables pseudo terminal allocation or not. Starts this shell. Shell is started. The pseudo-terminal request was not accepted by the server. The request to start a shell was not accepted by the server. Stops this shell. Shell is not started. Unsubscribes the current from session events. The session. Does nothing when is . Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Contains operation for working with SSH Shell. Occurs when data was received. Occurs when an error occurred. Occurs when the channel was closed. Gets a value indicating whether data is available on the to be read. if data is available to be read; otherwise, . Initializes a new instance of the class. The SSH session. The TERM environment variable. The terminal width in columns. The terminal width in rows. The terminal width in pixels. The terminal height in pixels. The terminal mode values. The size of the buffer. The channel could not be opened. The pseudo-terminal request was not accepted by the server. The request to start a shell was not accepted by the server. Initializes a new instance of the class. The SSH session. The size of the buffer. The channel could not be opened. The request to start a shell was not accepted by the server. Initializes a new instance of the class. The SSH session. The size of the buffer. Disables pseudo terminal allocation or not. The channel could not be opened. Gets a value indicating whether the current stream supports reading. . It is safe to read from even after disposal. Gets a value indicating whether the current stream supports seeking. . Gets a value indicating whether the current stream supports writing. if this stream has not been disposed and the underlying channel is still open, otherwise . A value of does not necessarily mean a write will succeed. It is possible that the channel is closed and/or the stream is disposed by another thread between a call to and the call to write. Gets the number of bytes currently available for reading. A value representing the length of the stream in bytes. This property always returns 0, and throws when calling the setter. 0. The setter is called. This method always throws . A byte offset relative to the parameter. A value of type indicating the reference point used to obtain the new position. Never. Always. This method always throws . The desired length of the current stream in bytes. Always. Sends new dimensions of the window (terminal) to the server. The terminal width in columns. The terminal height in rows. The terminal width in pixels. The terminal height in pixels. The column/row dimensions override the pixel dimensions (when nonzero). Pixel dimensions refer to the drawable area of the window. The stream is closed. Expects the specified expression and performs action when one is found. The expected expressions and actions to perform. Expects the specified expression and performs action when one is found. Time to wait for input. Must non-negative or equal to -1 millisecond (for infinite timeout). The expected expressions and actions to perform, if the specified time elapsed and expected condition have not met, that method will exit without executing any action. If a TimeSpan representing -1 millisecond is specified for the parameter, this method blocks indefinitely until either the regex matches the data in the buffer, or the stream is closed (via disposal or via the underlying channel closing). Expects the specified expression and performs action when one is found. Time to wait for input. Must non-negative or equal to -1 millisecond (for infinite timeout). The amount of data to search through from the most recent data in the buffer, or -1 to always search the entire buffer. The expected expressions and actions to perform, if the specified time elapsed and expected condition have not met, that method will exit without executing any action. If a TimeSpan representing -1 millisecond is specified for the parameter, this method blocks indefinitely until either the regex matches the data in the buffer, or the stream is closed (via disposal or via the underlying channel closing). Use the parameter to constrain the search space to a fixed-size rolling window at the end of the buffer. This can reduce the amount of work done in cases where lots of output from the shell is expected to be received before the matching expression is found. Note: in situations with high volumes of data and a small value for , some data may not be searched through. It is recommended to set to a large enough value to be able to search all data as it comes in, but which still places a limit on the amount of work needed. Expects the expression specified by text. The text to expect. The text available in the shell up to and including the expected text, or if the the stream is closed without a match. Expects the expression specified by text. The text to expect. Time to wait for input. Must non-negative or equal to -1 millisecond (for infinite timeout). The amount of data to search through from the most recent data in the buffer, or -1 to always search the entire buffer. The text available in the shell up to and including the expected expression, or if the specified time has elapsed or the stream is closed without a match. Expects the expression specified by regular expression. The regular expression to expect. The text available in the shell up to and including the expected expression, or if the stream is closed without a match. Expects the expression specified by regular expression. The regular expression to expect. Time to wait for input. Must non-negative or equal to -1 millisecond (for infinite timeout). The amount of data to search through from the most recent data in the buffer, or -1 to always search the entire buffer. The text available in the shell up to and including the expected expression, or if the specified timeout has elapsed or the stream is closed without a match. Begins the expect. The expect actions. An that references the asynchronous operation. Begins the expect. The callback. The expect actions. An that references the asynchronous operation. Begins the expect. The callback. The state. The expect actions. An that references the asynchronous operation. Begins the expect. The timeout. Must non-negative or equal to -1 millisecond (for infinite timeout). The callback. The state. The expect actions. An that references the asynchronous operation. Begins the expect. The timeout. Must non-negative or equal to -1 millisecond (for infinite timeout). The amount of data to search through from the most recent data in the buffer, or -1 to always search the entire buffer. The callback. The state. The expect actions. An that references the asynchronous operation. Ends the execute. The async result. The text available in the shell up to and including the expected expression. Reads the next line from the shell. If a line is not available it will block and wait for a new line. The line read from the shell. This method blocks indefinitely until either a line is available in the buffer, or the stream is closed (via disposal or via the underlying channel closing). When the stream is closed and there are no more newlines in the buffer, this method returns the remaining data (if any) and then indicating that no more data is in the buffer. Reads a line from the shell. If line is not available it will block the execution and will wait for new line. Time to wait for input. Must non-negative or equal to -1 millisecond (for infinite timeout). The line read from the shell, or when no input is received for the specified timeout. If a TimeSpan representing -1 millisecond is specified for the parameter, this method blocks indefinitely until either a line is available in the buffer, or the stream is closed (via disposal or via the underlying channel closing). When the stream is closed and there are no more newlines in the buffer, this method returns the remaining data (if any) and then indicating that no more data is in the buffer. Reads all of the text currently available in the shell. The text available in the shell. Writes the specified text to the shell. The text to be written to the shell. If is , nothing is written. Otherwise, is called after writing the data to the buffer. The stream is closed. Writes the line to the shell. The line to be written to the shell. If is , only the line terminator is written. is called once the data is written. The stream is closed. Holds the list of forwarded ports. Holds a value indicating whether the current instance is disposed. if the current instance is disposed; otherwise, . Initializes a new instance of the class. The connection info. is . Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication password. is . is invalid, or is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication password. is . is invalid, or is or contains only whitespace characters. Initializes a new instance of the class. Connection host. Connection port. Authentication username. Authentication private key file(s) . is . is invalid, -or- is or contains only whitespace characters. is not within and . Initializes a new instance of the class. Connection host. Authentication username. Authentication private key file(s) . is . is invalid, -or- is or contains only whitespace characters. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. is . If is , then the connection info will be disposed when this instance is disposed. Initializes a new instance of the class. The connection info. Specified whether this instance owns the connection info. The factory to use for creating new services. is . is . If is , then the connection info will be disposed when this instance is disposed. Called when client is disconnecting from the server. Stops forwarded ports. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Represents an SSH command that can be executed. The token supplied as an argument to . Whether has been called (either by a token or manually). Gets the command text. Gets or sets the command timeout. The command timeout. Gets the number representing the exit status of the command, if applicable, otherwise . The value is not when an exit status code has been returned from the server. If the command terminated due to a signal, may be not instead. Gets the name of the signal due to which the command terminated violently, if applicable, otherwise . The value (if it exists) is supplied by the server and is usually one of the following, as described in https://datatracker.ietf.org/doc/html/rfc4254#section-6.10: ABRT, ALRM, FPE, HUP, ILL, INT, KILL, PIPE, QUIT, SEGV, TER, USR1, USR2. Gets the output stream. Gets the extended output stream. Creates and returns the input stream for the command. The stream that can be used to transfer data to the command's input stream. Callers should ensure that is called on the returned instance in order to notify the command that no more data will be sent. Failure to do so may result in the command executing indefinitely. This example shows how to stream some data to 'cat' and have the server echo it back. using (SshCommand command = mySshClient.CreateCommand("cat")) { Task executeTask = command.ExecuteAsync(CancellationToken.None); using (Stream inputStream = command.CreateInputStream()) { inputStream.Write("Hello World!"u8); } await executeTask; Console.WriteLine(command.ExitStatus); // 0 Console.WriteLine(command.Result); // "Hello World!" } Gets the standard output of the command by reading . Gets the standard error of the command by reading , when extended data has been sent which has been marked as stderr. Initializes a new instance of the class. The session. The command text. The encoding to use for the results. Either , is . Executes the command asynchronously. The . When triggered, attempts to terminate the remote command by sending a signal. A representing the lifetime of the command. Command is already executing. Thrown synchronously. Instance has been disposed. Thrown synchronously. The has been cancelled. The command timed out according to . Begins an asynchronous command execution. An that represents the asynchronous command execution, which could still be pending. Asynchronous operation is already in progress. Invalid operation. CommandText property is empty. Client is not connected. Operation has timed out. Begins an asynchronous command execution. An optional asynchronous callback, to be called when the command execution is complete. An that represents the asynchronous command execution, which could still be pending. Asynchronous operation is already in progress. Invalid operation. CommandText property is empty. Client is not connected. Operation has timed out. Begins an asynchronous command execution. An optional asynchronous callback, to be called when the command execution is complete. A user-provided object that distinguishes this particular asynchronous read request from other requests. An that represents the asynchronous command execution, which could still be pending. Asynchronous operation is already in progress. Invalid operation. CommandText property is empty. Client is not connected. Operation has timed out. Begins an asynchronous command execution. The command text. An optional asynchronous callback, to be called when the command execution is complete. A user-provided object that distinguishes this particular asynchronous read request from other requests. An that represents the asynchronous command execution, which could still be pending. Client is not connected. Operation has timed out. Waits for the pending asynchronous command execution to complete. The reference to the pending asynchronous request to finish. . does not correspond to the currently executing command. is . Cancels a running command by sending a signal to the remote process. if true send SIGKILL instead of SIGTERM. Time to wait for the server to reply. This method stops the command running on the server by sending a SIGTERM (or SIGKILL, depending on ) signal to the remote process. When the server implements signals, it will send a response which populates with the signal with which the command terminated. When the server does not implement signals, it may send no response. As a fallback, this method waits up to for a response and then completes the object anyway if there was none. If the command has already finished (with or without cancellation), this method does nothing. Command has not been started. Executes the command specified by . . Client is not connected. Operation has timed out. Executes the specified command. The command text. . Client is not connected. Operation has timed out. Unsubscribes the current from channel events, and optionally, disposes . Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Defines the highest message number that is currently supported. Initializes a new instance of the class. Disables and deactivate all messages. Disables non-KeyExchange messages. to indicate the strict key exchange mode; otherwise . In strict key exchange mode, only below messages are allowed: SSH_MSG_KEXINIT -> 20 SSH_MSG_NEWKEYS -> 21 SSH_MSG_DISCONNECT -> 1 Note: The relevant KEX Reply MSG will be allowed from a sub class of KeyExchange class. For example, it calls Session.RegisterMessage("SSH_MSG_KEX_ECDH_REPLY"); if the curve25519-sha256 KEX algorithm is selected per negotiation. Allows configuring the logging for internal logs of SSH.NET. Initializes the logging for SSH.NET. The logger factory. Base class for SSH subsystem implementations. Holds the number of system wait handles that are returned as the leading entries in the array returned in . Occurs when an error occurred. Occurs when the server has disconnected from the session. Gets the channel associated with this session. The channel associated with this session. Gets a value indicating whether this session is open. if this session is open; otherwise, . Initializes a new instance of the class. The session. Name of the subsystem. The number of milliseconds to wait for a given operation to complete, or -1 to wait indefinitely. or is . Connects the subsystem using a new SSH channel session. The session is already connected. The method was called after the session was disposed. The channel session could not be opened, or the subsystem could not be executed. Disconnects the subsystem channel. Sends data to the subsystem. The data to be sent. Called when channel is open. Called when data is received. The data. Raises the error. The error. Waits a specified time for a given to get signaled. The handle to wait for. To number of milliseconds to wait for to get signaled, or -1 to wait indefinitely. The connection was closed by the server. The channel was closed. The handle did not get signaled within the specified timeout. Unsubscribes the current from session events. The session. Does nothing when is . Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Releases unmanaged and - optionally - managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Provides methods for using to implement the Asynchronous Programming Model pattern based on "Begin" and "End" methods. Creates a new from the specified , optionally invoking when the task has completed. The to be wrapped in an . The callback to be invoked upon 's completion. If , no callback will be invoked. The state to be stored in the . An to represent the task's asynchronous operation. This instance will also be passed to when it's invoked. is null. In conjunction with the or methods, this method may be used to implement the Begin/End pattern (also known as the Asynchronous Programming Model pattern, or APM). It is recommended to not expose this pattern in new code; the methods on are intended only to help implement such Begin/End methods when they must be exposed, for example because a base class provides virtual methods for the pattern, or when they've already been exposed and must remain for compatibility. These methods enable implementing all of the core asynchronous logic via s and then easily implementing Begin/End methods around that functionality. Waits for the wrapped by the returned by to complete. The for which to wait. is null. was not produced by a call to . This will propagate any exception stored in the wrapped . Waits for the wrapped by the returned by to complete. The type of the result produced. The for which to wait. The result of the wrapped by the . is null. was not produced by a call to . This will propagate any exception stored in the wrapped . Extracts the underlying from an created by . The created by . The wrapped by the . is null. was not produced by a call to . Extracts the underlying from an created by . The type of the result produced by the returned task. The created by . The wrapped by the . is null. was not produced by a call to , or the provided to was used a generic type parameter that's different from the supplied to this call. Provides a simple that wraps a . We could use the Task as the IAsyncResult if the Task's AsyncState is the same as the object state, but that's very rare, in particular in a situation where someone cares about allocation, and always using TaskAsyncResult simplifies things and enables additional optimizations. The wrapped Task. Callback to invoke when the wrapped task completes. Initializes the IAsyncResult with the Task to wrap and the associated object state. The Task to wrap. The new AsyncState value. Callback to invoke when the wrapped task completes. Specifies that null is allowed as an input even if the corresponding type disallows it. Indicates that the specified method parameter expects a constant. This can be used to inform tooling that a constant should be used as an argument for the annotated parameter. Indicates the minimum bound of the expected constant, inclusive. Indicates the maximum bound of the expected constant, inclusive. Specifies that null is disallowed as an input even if the corresponding type allows it. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Indicates that an API is experimental and it may change in the future. This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental feature is used. Authors can use this attribute to ship preview features in their assemblies. Initializes a new instance of the class, specifying the ID that the compiler will use when reporting a use of the API the attribute applies to. The ID that the compiler will use when reporting a use of the API the attribute applies to. Gets the ID that the compiler will use when reporting a use of the API the attribute applies to. The unique diagnostic ID. The diagnostic ID is shown in build output for warnings and errors. This property represents the unique ID that can be used to suppress the warnings or errors, if needed. Gets or sets the URL for corresponding documentation. The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. The format string that represents a URL to corresponding documentation. An example format string is https://contoso.com/obsoletion-warnings/{0}. Specifies that an output may be null even if the corresponding type disallows it. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that this constructor sets all required members for the current type, and callers do not need to set any required members themselves. Specifies the syntax used in a string. Initializes the with the identifier of the syntax used. The syntax identifier. Initializes the with the identifier of the syntax used. The syntax identifier. Optional arguments associated with the specific syntax employed. Gets the identifier of the syntax used. Optional arguments associated with the specific syntax employed. The syntax identifier for strings containing composite formats for string formatting. The syntax identifier for strings containing date format specifiers. The syntax identifier for strings containing date and time format specifiers. The syntax identifier for strings containing format specifiers. The syntax identifier for strings containing format specifiers. The syntax identifier for strings containing JavaScript Object Notation (JSON). The syntax identifier for strings containing numeric format specifiers. The syntax identifier for strings containing regular expressions. The syntax identifier for strings containing time format specifiers. The syntax identifier for strings containing format specifiers. The syntax identifier for strings containing URIs. The syntax identifier for strings containing XML. Used to indicate a byref escapes and is not scoped. There are several cases where the C# compiler treats a as implicitly - where the compiler does not allow the to escape the method. For example: for instance methods. parameters that refer to types. parameters. This attribute is used in those instances where the should be allowed to escape. Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for API authors to understand the lifetime implications of applying this attribute and how it may impact their users. Represent a type can be used to index a collection either from the start or the end. Index is used by the C# compiler to support the new index syntax int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ; int lastElement = someArray[^1]; // lastElement = 5 Construct an Index using a value and indicating if the index is from the start or from the end. The index value. it has to be zero or positive number. Indicating if the index is from the start or from the end. If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element. Create an Index pointing at first element. Create an Index pointing at beyond last element. Create an Index from the start at the position indicated by the value. The index value from the start. Create an Index from the end at the position indicated by the value. The index value from the end. Returns the index value. Indicates whether the index is from the start or the end. Calculate the offset from the start using the giving collection length. The length of the collection that the Index will be used with. length has to be a positive value For performance reason, we don't validate the input length parameter and the returned offset value against negative values. we don't validate either the returned offset is greater than the input length. It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and then used to index a collection will get out of range exception which will be same affect as the validation. Indicates whether the current Index object is equal to another object of the same type. An object to compare with this object Indicates whether the current Index object is equal to another Index object. An object to compare with this object Returns the hash code for this instance. Converts integer number to an Index. Converts the value of the current Index object to its equivalent string representation. Represent a range has start and end indexes. Range is used by the C# compiler to support the range syntax. int[] someArray = new int[5] { 1, 2, 3, 4, 5 }; int[] subArray1 = someArray[0..2]; // { 1, 2 } int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 } Represent the inclusive start index of the Range. Represent the exclusive end index of the Range. Construct a Range object using the start and end indexes. Represent the inclusive start index of the range. Represent the exclusive end index of the range. Indicates whether the current Range object is equal to another object of the same type. An object to compare with this object Indicates whether the current Range object is equal to another Range object. An object to compare with this object Returns the hash code for this instance. Converts the value of the current Range object to its equivalent string representation. Create a Range object starting from start index to the end of the collection. Create a Range object starting from first element in the collection to the end Index. Create a Range object starting from first element to the end. Calculate the start offset and length of range object using a collection length. The length of the collection that the range will be used with. length has to be a positive value. For performance reason, we don't validate the input length parameter against negative values. It is expected Range will be used with collections which always have non negative length/count. We validate the range is inside the length scope though. An attribute that allows parameters to receive the expression of other parameters. Initializes a new instance of the class. The condition parameter value. Gets the parameter name the expression is retrieved from. Initialize the attribute to refer to the method on the type. The type of the builder to use to construct the collection. The name of the method on the builder to use to construct the collection. must refer to a static method that accepts a single parameter of type and returns an instance of the collection being built containing a copy of the data from that span. In future releases of .NET, additional patterns may be supported. Gets the type of the builder to use to construct the collection. Gets the name of the method on the builder to use to construct the collection. This should match the metadata name of the target method. For example, this might be ".ctor" if targeting the type's constructor. Indicates that compiler support for a particular feature is required for the location where this attribute is applied. Creates a new instance of the type. The name of the feature to indicate. The name of the compiler feature. If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand . The used for the ref structs C# feature. The used for the required members C# feature. Indicates which arguments to a method involving an interpolated string handler should be passed to that handler. Initializes a new instance of the class. The name of the argument that should be passed to the handler. may be used as the name of the receiver in an instance method. Initializes a new instance of the class. The names of the arguments that should be passed to the handler. may be used as the name of the receiver in an instance method. Gets the names of the arguments that should be passed to the handler. may be used as the name of the receiver in an instance method. Indicates the attributed type is to be used as an interpolated string handler. Reserved to be used by the compiler for tracking metadata. This class should not be used by developers in source code. Used to indicate to the compiler that a method should be called in its containing module's initializer. When one or more valid methods with this attribute are found in a compilation, the compiler will emit a module initializer which calls each of the attributed methods. Certain requirements are imposed on any method targeted with this attribute: - The method must be `static`. - The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc. - The method must be parameterless. - The method must return `void`. - The method must not be generic or be contained in a generic type. - The method's effective accessibility must be `internal` or `public`. The specification for module initializers in the .NET runtime can be found here: https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer Specifies the priority of a member in overload resolution. When unspecified, the default priority is 0. Initializes a new instance of the class. The priority of the attributed member. Higher numbers are prioritized, lower numbers are deprioritized. 0 is the default if no attribute is present. The priority of the member. Indicates that a method will allow a variable number of arguments in its invocation. Specifies that a type has required members or that a member is required. Reserved for use by a compiler for tracking metadata. This attribute should not be used by developers in source code. Used to indicate to the compiler that the .locals init flag should not be set in method headers. Initializes a new instance of the class. Initializes a new instance of the class with the specified message. An optional message associated with this attribute instance. Returns the optional message associated with this attribute instance. Returns the optional URL associated with this attribute instance.