ssh_agent(3)



ssh_agent(3erl)            Erlang Module Definition            ssh_agent(3erl)

NAME
       ssh_agent  -  Callback module for using an SSH agent instead of the de-
       fault ssh_file callback.

DESCRIPTION
       This module defines a callback handler for the  communication  with  an
       SSH  Agent and can be used to replace the default callback. This allows
       to issue signing requests to an agent that stores SSH private  keys  to
       perform authentication.

       Ssh_agent  implements the ssh_client_key_api, to allow it to be used by
       setting the option key_cb when starting  a  client  (with  for  example
       ssh:connect, ssh:shell ).

             {key_cb, {ssh_agent, []}}

       The agent communication is established through a UNIX domain socket. By
       default, the socket path will be fetched from the SSH_AUTH_SOCK enviro-
       ment  variable, which is the default socket path in the agent implemen-
       tation of OpenSSH.

       In order to set a different socket path the socket_path option  can  be
       set.

             {key_cb, {ssh_agent, [{socket_path, SocketPath}]}}

   Note:
       The  functions are Callbacks  for the SSH app. They are not intended to
       be called from the user's code!

DATA TYPES
   Options for the ssh_agent callback module
       socket_path_option() = {socket_path, string()}

              Sets the socket path for the communication with the agent.

       timeout_option() = {timeout, integer()}

              Sets the time-out in milliseconds when  communicating  with  the
              agent via the socket. The default value is 1000.

       call_ssh_file_option() = {call_ssh_file, atom()}

              The  module which the add_host_key and is_host_key callbacks are
              delegated to. Defaults to the ssh_file module.

EXPORTS
       add_host_key(Host :: string(),
                    PublicKey :: public_key:public_key(),
                    Options) ->
                       ok | {error, Error :: term()}

       add_host_key(Host,
                    Port :: inet:port_number(),
                    PublicKey :: public_key:public_key(),
                    Options) ->
                       Result

              Types:

                 Host =
                     inet:ip_address() |
                     inet:hostname() |
                     [inet:ip_address() | inet:hostname()]
                 Options =
                     ssh_client_key_api:client_key_cb_op-
                 tions(call_ssh_file_option())
                 Result = ok | {error, Error :: term()}

              This callback is delegated to the ssh_file module.

       is_host_key(Key :: public_key:public_key(),
                   Host :: string(),
                   Algorithm :: ssh:pubkey_alg(),
                   Options) ->
                      boolean()

       is_host_key(Key :: public_key:public_key(),
                   Host,
                   Port :: inet:port_number(),
                   Algorithm :: ssh:pubkey_alg(),
                   Options) ->
                      boolean()

              Types:

                 Host =
                     inet:ip_address() |
                     inet:hostname() |
                     [inet:ip_address() | inet:hostname()]
                 Options =
                     ssh_client_key_api:client_key_cb_op-
                 tions(call_ssh_file_option())

              This callback is delegated to the ssh_file module.

       user_key(Algorithm :: ssh:pubkey_alg(), Options) -> Result

              Types:

                 Result =
                     {ok, public_key:private_key()} |
                     {ok, {ssh2_pubkey, PubKeyBlob :: binary()}} |
                     {error, string()}
                 Options =
                     ssh_client_key_api:client_key_cb_options(socket_path_op-
                 tion() |
                                                              timeout_op-
                 tion())

              Types and description

              See   the   api   description   in   ssh_client_key_api,    Mod-
              ule:user_key/2.

Ericsson AB                        ssh 4.10                    ssh_agent(3erl)

Man(1) output converted with man2html
list of all man pages