Crate libssh_rs

source ·
Expand description

This crate provides ergonomic bindings to the functions provided by libssh, a library that provides an implementation of the SSH 2 protocol. It is distinct from the ssh2 rust crate which uses libssh2, which is an unrelated project that implements similar functionality!



  • bitflags that indicates permitted authentication methods
  • Represents a channel in a Session.
  • Represents the overall set of instructions in keyboard-interactive auth
  • Represents a question prompt in keyboard-interactive auth
  • Represents metadata about a file. libssh returns this in a couple of contexts, and not all fields are used in all contexts.
  • Bitflags that indicate options for opening a sftp file.
  • A Session represents the state needed to make a connection to a remote host.
  • Change multiple file attributes at once. If a field is_some, then its value will be applied to the file on the server side. If it is_none, then that particular field will be left unmodified.
  • Represents the public key provided by the remote host


  • Indicates the disposition of an authentication operation
  • Represents an error condition
  • Indicates the state of known-host matching, an important set to detect and avoid MITM attacks.
  • Allows configuring the underlying libssh debug logging level
  • Indicates available data for the stdout or stderr on a Channel.
  • The type of hash to use when inspecting a public key fingerprint
  • Allows configuring different aspects of a Session. You always need to set at least SshOption::Hostname.


  • A utility function that will prompt the user for input via the console/tty.

Type Aliases§

  • Represents the result of a fallible operation