var searchIndex = {}; searchIndex["thrussh_client"] = {"doc":"This is an SSH client library, designed to read configuration\nfiles in the same format as OpenSSH.","items":[[4,"Error","thrussh_client","",null,null],[13,"CouldNotReadKey","","",0,null],[13,"Base64","","",0,null],[13,"KexInit","","",0,null],[13,"Version","","",0,null],[13,"Kex","","",0,null],[13,"PacketAuth","","",0,null],[13,"NewKeys","","",0,null],[13,"Inconsistent","","",0,null],[13,"IndexOutOfBounds","","",0,null],[13,"Utf8","","",0,null],[13,"UnknownKey","","",0,null],[13,"WrongChannel","","",0,null],[13,"UnknownChannelType","","",0,null],[13,"UnknownSignal","","",0,null],[13,"IO","","",0,null],[13,"Disconnect","","",0,null],[13,"NoHomeDir","","",0,null],[13,"KeyChanged","","",0,null],[13,"HUP","","",0,null],[8,"Handler","","",null,null],[11,"auth_banner","","Called when the server sends us an authentication banner. This is usually meant to be shown to the user, see [RFC4252](https://tools.ietf.org/html/rfc4252#section-5.4) for more details.",1,null],[11,"check_server_key","","Called to check the server's public key. This is a very important\nstep to help prevent man-in-the-middle attacks. The default\nimplementation rejects all keys.",1,null],[11,"channel_open_confirmation","","Called when the server confirmed our request to open a channel. A channel can only be written to after receiving this message (this library panics otherwise).",1,null],[11,"channel_close","","Called when the server closes a channel.",1,null],[11,"channel_eof","","Called when the server sends EOF to a channel.",1,null],[11,"channel_open_failure","","Called when the server rejected our request to open a channel.",1,null],[11,"channel_open_forwarded_tcpip","","Called when a new channel is created.",1,null],[11,"data","","Called when the server sends us data. The `extended_code` parameter is a stream identifier, `None` is usually the standard output, and `Some(1)` is the standard error. See [RFC4254](https://tools.ietf.org/html/rfc4254#section-5.2).",1,null],[11,"xon_xoff","","The server informs this client of whether the client may perform control-S/control-Q flow control. See [RFC4254](https://tools.ietf.org/html/rfc4254#section-6.8).",1,null],[11,"exit_status","","The remote process has exited, with the given exit status.",1,null],[11,"exit_signal","","The remote process exited upon receiving a signal.",1,null],[11,"window_adjusted","","Called when the network window is adjusted, meaning that we\ncan send more bytes. This is useful if this client wants to\nsend huge amounts of data, for instance if we have called\n`Session::data` before, and it returned less than the\nfull amount of data.",1,null],[3,"Session","","",null,null],[3,"Client","","",null,null],[12,"connection","","",2,null],[4,"ClientError","","",null,null],[13,"Thrussh","","",3,null],[13,"User","","",3,null],[13,"IO","","",3,null],[13,"NoSSHConfig","","",3,null],[13,"NoHostName","","",3,null],[13,"AuthFailed","","",3,null],[5,"learn_known_hosts","","Record a host's public key into the user's known_hosts file.",null,{"inputs":[{"name":"str"},{"name":"u16"},{"name":"publickey"}],"output":{"name":"result"}}],[5,"check_known_hosts","","Check whether the host is known, from its standard location.",null,{"inputs":[{"name":"str"},{"name":"u16"},{"name":"publickey"}],"output":{"name":"result"}}],[6,"Connected","","",null,null],[11,"deref","","",2,null],[11,"deref_mut","","",2,null],[11,"fmt","","",3,null],[11,"fmt","","",3,null],[11,"description","","",3,null],[11,"cause","","",3,null],[11,"from","","",3,{"inputs":[{"name":"error"}],"output":{"name":"clienterror"}}],[11,"from","","",3,{"inputs":[{"name":"error"}],"output":{"name":"clienterror"}}],[11,"from","","",3,{"inputs":[{"name":"error"}],"output":{"name":"clienterror"}}],[11,"new","","Create a client, allocating a `Poll` and an SSH client configuration.",2,{"inputs":[],"output":{"name":"self"}}],[11,"default_ssh_config","","Parse the ssh config file, from its default location (`~/.ssh/config` on Unix, and `%USERPROFILE%/ssh/config` on Windows.",2,null],[11,"ssh_config","","Read an SSH configuration file from a custom path.",2,null],[11,"set_host","","Set the host name, replacing any previously set name. This can be a name from the config file.",2,null],[11,"set_port","","Set the port.",2,null],[11,"connect","","Connect this client.",2,null],[11,"authenticate","","Attempt (or re-attempt) authentication. Returns `Ok(Some(…))`\nif the server's host key is unknown, `Ok(None)` if\nauthentication succeeded, and errors in all other cases.",2,null],[11,"learn_host","","Write the host into the known_hosts file.",2,null],[11,"wait_channel_open","","Waiting until the given channel is open.",2,null],[11,"wait_channel_close","","Waiting until the given channel is closed by the remote side.",2,null],[11,"run_until","","Run the protocol until some condition is satisfied on the client.",2,null],[11,"fmt","","",0,null],[11,"fmt","","",0,null],[11,"description","","",0,null],[11,"cause","","",0,null],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"utf8error"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"frombase64error"}],"output":{"name":"error"}}],[11,"config","","Retrieves the configuration of this session.",4,null],[11,"auth_user","","Retrieves the current user.",4,null],[11,"disconnect","","Sends a disconnect message.",4,null],[11,"set_auth_user","","Set the user.",4,null],[11,"set_auth_public_key","","Set the authentication method.",4,null],[11,"set_auth_password","","Set the authentication method.",4,null],[11,"is_authenticated","","Whether the client is authenticated.",4,null],[11,"channel_is_open","","Check whether a channel has been confirmed.",4,null],[11,"has_auth_method","","Tests whether we need an authentication method (for instance if the last attempt failed).",4,null],[11,"valid_auth_methods","","Returns the set of authentication methods that can continue, or None if this is not valid.",4,null],[11,"channel_open_session","","Request a session channel (the most basic type of\nchannel). This function returns `Some(..)` immediately if the\nconnection is authenticated, but the channel only becomes\nusable when it's confirmed by the server, as indicated by the\n`confirmed` field of the corresponding `Channel`.",4,null],[11,"channel_open_x11","","Request an X11 channel, on which the X11 protocol may be tunneled.",4,null],[11,"channel_open_direct_tcpip","","Open a TCP/IP forwarding channel. This is usually done when a connection comes to a locally forwarded TCP/IP port. See [RFC4254](https://tools.ietf.org/html/rfc4254#section-7). The TCP/IP packets can then be tunneled through the channel using `.data()`.",4,null],[11,"close","","Close a channel.",4,null],[11,"eof","","Send EOF to a channel",4,null],[11,"data","","Send data or "extended data" to the given channel. Extended data can be used to multiplex different data streams into a single channel.",4,null],[11,"request_pty","","Request a pseudo-terminal with the given characteristics.",4,null],[11,"request_x11","","Request X11 forwarding through an already opened X11 channel. See [RFC4254](https://tools.ietf.org/html/rfc4254#section-6.3.1) for security issues related to cookies.",4,null],[11,"set_env","","Set a remote environment variable.",4,null],[11,"request_shell","","Request a remote shell.",4,null],[11,"exec","","Execute a remote program (will be passed to a shell). This can be used to implement scp (by calling a remote scp and tunneling to its standard input).",4,null],[11,"signal","","Signal a remote process.",4,null],[11,"request_subsystem","","Request the start of a subsystem with the given name.",4,null],[11,"window_change","","Inform the server that our window size has changed.",4,null],[11,"tcpip_forward","","Request the forwarding of a remote port to the client. The server will then open forwarding channels (which cause the client to call `.channel_open_forwarded_tcpip()`).",4,null],[11,"cancel_tcpip_forward","","Cancel a previous forwarding request.",4,null],[11,"fmt","","",4,null]],"paths":[[4,"Error"],[8,"Handler"],[3,"Client"],[4,"ClientError"],[3,"Session"]]}; initSearch(searchIndex);