ssh::Session Class Reference

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

#include <include/libssh/libsshpp.hpp>


Public Member Functions

ChannelacceptForward (int timeout_ms)
 accept an incoming forward connection
void connect ()
 connects to the remote host
Exceptions:
SshException on error

void disconnect ()
 Disconnects from the SSH server and closes connection.
int getAuthList ()
 Returns the available authentication methods from the server
Exceptions:
SshException on error.

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
Exceptions:
SshException on error

void optionsCopy (const Session &source)
 copies options from a session to another
Exceptions:
SshException on error

void optionsParseConfig (const char *file)
 parses a configuration file for options
Exceptions:
SshException on error

void setOption (enum ssh_options_e type, void *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, const char *option)
 sets an SSH session options
void silentDisconnect ()
 silently disconnect from remote host
int userauthAutopubkey (void)
 Authenticates automatically using public key
Exceptions:
SshException on error.

int userauthNone ()
 Authenticates using the "none" method.
int userauthOfferPubkey (int type, ssh_string pubkey)
 Try to authenticate using the publickey method.
int userauthPassword (const char *password)
 Authenticates using the password method.
int userauthPubkey (ssh_string pubkey, ssh_private_key privkey)
 Authenticates using the publickey method.
int writeKnownhost ()
 Writes the known host file with current host key
Exceptions:
SshException on error.


Detailed Description

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


Member Function Documentation

Channel * ssh::Session::acceptForward ( int  timeout_ms  ) 

accept an incoming forward connection

Parameters:
[in] 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

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

connects to the remote host

Exceptions:
SshException on error

See also:
ssh_connect

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

Disconnects from the SSH server and closes connection.

See also:
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

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.

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

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

returns the OpenSSH version (server) if possible

Returns:
openssh version code
See also:
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

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

returns the version of the SSH protocol being used

Returns:
the SSH protocol version
See also:
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

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

copies options from a session to another

Exceptions:
SshException on error

See also:
ssh_options_copy

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

parses a configuration file for options

Exceptions:
SshException on error

Parameters:
[in] file configuration file name
See also:
ssh_options_parse_config

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

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

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

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

silently disconnect from remote host

See also:
ssh_silent_disconnect

int ssh::Session::userauthAutopubkey ( 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

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

int ssh::Session::userauthOfferPubkey ( int  type,
ssh_string  pubkey 
) [inline]

Try to authenticate using the publickey method.

Parameters:
[in] type public key type
[in] 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_offer_pubkey

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

Authenticates using the password method.

Parameters:
[in] 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

int ssh::Session::userauthPubkey ( ssh_string  pubkey,
ssh_private_key  privkey 
) [inline]

Authenticates using the publickey method.

Parameters:
[in] pubkey public key to use for authentication
[in] 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

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

Writes the known host file with current host key

Exceptions:
SshException on error.

See also:
ssh_write_knownhost


The documentation for this class was generated from the following file:
Generated on 26 Jul 2013 for libssh by  doxygen 1.4.7