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
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, 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.
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.


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

References ssh_forward_accept().

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_get_disconnect_message().

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 c_session, and 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

References 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

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,
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::silentDisconnect (  )  [inline]

silently disconnect from remote host

See also:
ssh_silent_disconnect

References 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

References 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

References ssh_userauth_none().

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

References 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

References 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

References 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

References ssh_write_knownhost().


The documentation for this class was generated from the following file:

Generated on Sat Jun 1 12:51:48 2013 for libssh by  doxygen 1.5.6