ssh::Session(3)

NAME
ssh::Session - The ssh::Session class contains the state of a SSH connection.

SYNOPSIS

#include <include/libssh/libsshpp.hpp>

  Public Member Functions
Channel * acceptForward (int timeout_ms)
accept an incoming forward connection
void connect ()
connects to the remote host
void disconnect ()
Disconnects from the SSH server and closes connection.
int getAuthList ()
Returns the available authentication methods from the server.
const char * getDisconnectMessage ()
Returns the disconnect message from the server, if any.
std::string getIssueBanner ()
gets the Issue banner from the ssh server
int getOpensshVersion ()
returns the OpenSSH version (server) if possible
socket_t getSocket ()
returns the file descriptor used for the communication
int getVersion ()
returns the version of the SSH protocol being used
int isServerKnown ()
verifies that the server is known
void optionsCopy (const Session &source)
copies options from a session to another
void optionsParseConfig (const char *file)
parses a configuration file for options
void setOption (enum ssh_options_e type, const char *option)
sets an SSH session options
void setOption (enum ssh_options_e type, long int option)
sets an SSH session options
void setOption (enum ssh_options_e type, void *option)
sets an SSH session options
void silentDisconnect ()
silently disconnect from remote host
int userauthNone ()
Authenticates using the 'none' method.
int userauthPassword (const char *password)
Authenticates using the password method.
int userauthPublickey (ssh_key privkey)
Authenticates using the publickey method.
int userauthPublickeyAuto (void)
Authenticates automatically using public key.
int userauthTryPublickey (ssh_key pubkey)
Try to authenticate using the publickey method.
int writeKnownhost ()
Writes the known host file with current host key.

Detailed Description

The ssh::Session class contains the state of a SSH connection.

Member Function Documentation

  Channel * ssh::Session::acceptForward (int timeout_ms) [inline]

accept an incoming forward connection

Parameters:
    timeout_ms timeout for waiting, in ms

Returns:
    new Channel pointer on the forward connection

    NULL in case of error

Warning:
    you have to delete this pointer after use

See also:
    ssh_channel_forward_accept

    Session::listenForward

References ssh_channel_accept_forward().

  void ssh::Session::connect () [inline]

connects to the remote host

Exceptions:
    SshException on error

See also:
    ssh_connect

References ssh_connect().

  void ssh::Session::disconnect () [inline]

Disconnects from the SSH server and closes connection.

See also:
    ssh_disconnect

References ssh_disconnect().

  int ssh::Session::getAuthList () [inline]

Returns the available authentication methods from the server.

Exceptions:
    SshException on error

Returns:
    Bitfield of available methods.

See also:
    ssh_userauth_list

References ssh_userauth_list().

  const char* ssh::Session::getDisconnectMessage () [inline]

Returns the disconnect message from the server, if any.

Returns:
    pointer to the message, or NULL. Do not attempt to free the pointer.

References ssh::SshException::getError(), ssh_get_disconnect_message(), ssh_get_error(), and ssh_get_error_code().

  std::string ssh::Session::getIssueBanner () [inline]

gets the Issue banner from the ssh server

Returns:
    the issue banner. This is generally a MOTD from server

See also:
    ssh_get_issue_banner

References ssh_get_issue_banner().

  int ssh::Session::getOpensshVersion () [inline]

returns the OpenSSH version (server) if possible

Returns:
    openssh version code

See also:
    ssh_get_openssh_version

References ssh_get_openssh_version().

  socket_t ssh::Session::getSocket () [inline]

returns the file descriptor used for the communication

Returns:
    the file descriptor

Warning:
    if a proxycommand is used, this function will only return one of the two file descriptors being used

See also:
    ssh_get_fd

References ssh_get_fd().

  int ssh::Session::getVersion () [inline]

returns the version of the SSH protocol being used

Returns:
    the SSH protocol version

See also:
    ssh_get_version

References ssh_get_version().

  int ssh::Session::isServerKnown () [inline]

verifies that the server is known

Exceptions:
    SshException on error

Returns:
    Integer value depending on the knowledge of the server key

See also:
    ssh_is_server_known

References ssh_is_server_known().

  void ssh::Session::optionsCopy (const Session & source) [inline]

copies options from a session to another

Exceptions:
    SshException on error

See also:
    ssh_options_copy

References ssh_options_copy().

  void ssh::Session::optionsParseConfig (const char * file) [inline]

parses a configuration file for options

Exceptions:
    SshException on error

Parameters:
    file configuration file name

See also:
    ssh_options_parse_config

References ssh_options_parse_config().

  void ssh::Session::setOption (enum ssh_options_e type, const char * option) [inline]

sets an SSH session options

Parameters:
    type Type of option
    option cstring containing the value of option

Exceptions:
    SshException on error

See also:
    ssh_options_set

References ssh_options_set().

  void ssh::Session::setOption (enum ssh_options_e type, long int option) [inline]

sets an SSH session options

Parameters:
    type Type of option
    option long integer containing the value of option

Exceptions:
    SshException on error

See also:
    ssh_options_set

References ssh_options_set().

  void ssh::Session::setOption (enum ssh_options_e type, void * option) [inline]

sets an SSH session options

Parameters:
    type Type of option
    option void pointer containing the value of option

Exceptions:
    SshException on error

See also:
    ssh_options_set

References ssh_options_set().

  void ssh::Session::silentDisconnect () [inline]

silently disconnect from remote host

See also:
    ssh_silent_disconnect

References ssh_silent_disconnect().

  int ssh::Session::userauthNone () [inline]

Authenticates using the 'none' method. Prefer using autopubkey if possible.

Exceptions:
    SshException on error

Returns:
    SSH_AUTH_SUCCESS, SSH_AUTH_PARTIAL, SSH_AUTH_DENIED

See also:
    ssh_userauth_none

    Session::userauthAutoPubkey

References ssh_userauth_none().

  int ssh::Session::userauthPassword (const char * password) [inline]

Authenticates using the password method.

Parameters:
    password password to use for authentication

Exceptions:
    SshException on error

Returns:
    SSH_AUTH_SUCCESS, SSH_AUTH_PARTIAL, SSH_AUTH_DENIED

See also:
    ssh_userauth_password

References ssh_userauth_password().

  int ssh::Session::userauthPublickey (ssh_key privkey) [inline]

Authenticates using the publickey method.

Parameters:
    privkey private key to use for authentication

Exceptions:
    SshException on error

Returns:
    SSH_AUTH_SUCCESS, SSH_AUTH_PARTIAL, SSH_AUTH_DENIED

See also:
    ssh_userauth_pubkey

References ssh_userauth_publickey().

  int ssh::Session::userauthPublickeyAuto (void) [inline]

Authenticates automatically using public key.

Exceptions:
    SshException on error

Returns:
    SSH_AUTH_SUCCESS, SSH_AUTH_PARTIAL, SSH_AUTH_DENIED

See also:
    ssh_userauth_autopubkey

References ssh_userauth_publickey_auto().

  int ssh::Session::userauthTryPublickey (ssh_key pubkey) [inline]

Try to authenticate using the publickey method.

Parameters:
    pubkey public key to use for authentication

Exceptions:
    SshException on error

Returns:
    SSH_AUTH_SUCCESS if the pubkey is accepted,

    SSH_AUTH_DENIED if the pubkey is denied

See also:
    ssh_userauth_try_pubkey

References ssh_userauth_try_publickey().

  int ssh::Session::writeKnownhost () [inline]

Writes the known host file with current host key.

Exceptions:
    SshException on error

See also:
    ssh_write_knownhost

References ssh_channel_cancel_forward(), ssh_channel_listen_forward(), and ssh_write_knownhost().

Author

Generated automatically by Doxygen for libssh from the source code.