ssh_client_key_api(3)



ssh_client_key_api(3erl)   Erlang Module Definition   ssh_client_key_api(3erl)

NAME
       ssh_client_key_api -
            -behaviour(ssh_client_key_api).

DESCRIPTION
       Behavior  describing  the API for public key handling of an SSH client.
       By implementing the callbacks defined in this behavior, the public  key
       handling  of an SSH client can be customized. By default the ssh appli-
       cation implements this behavior  with  help  of  the  standard  OpenSSH
       files, see the  ssh(7) application manual.

DATA TYPES
       client_key_cb_options(T) =
           [{key_cb_private, [T]} | ssh:client_option()]

              Options provided to ssh:connect/[3,4].

              The option list given in the key_cb option is available with the
              key key_cb_private.

EXPORTS
       Module:add_host_key(HostNames, PublicHostKey, ConnectOptions) ->  ok  |
       {error, Reason}

              Types:

                 HostNames = string()
                   Description of the host that owns the PublicHostKey.
                 PublicHostKey = public_key:public_key()
                   Of  ECDSA keys, only the Normally an RSA, DSA or ECDSA pub-
                   lic key, but handling of other public keys can be added.
                 ConnectOptions = client_key_cb_options()

              This function is retired  in  favour  for  Module:add_host_key/4
              which  is the prefered API function. The calling SSH application
              will still try the add_host_key/3 if the call to  add_host_key/4
              failed.

              Adds a host key to the set of trusted host keys.

       Module:add_host_key(Host,  Port, PublicHostKey, ConnectOptions) -> ok |
       {error, Reason}

              Types:

                 Host = inet:ip_address() | inet:hostname()  |  [  inet:ip_ad-
                 dress() | inet:hostname() ]
                   The  host  that  owns the PublicHostKey. One or more IP ad-
                   dresses or hostnames.
                 Port = inet:port_number()
                   The Port number of the Host.
                 PublicHostKey = public_key:public_key()
                   Of ECDSA keys, only the Normally an RSA, DSA or ECDSA  pub-
                   lic key, but handling of other public keys can be added.
                 ConnectOptions = client_key_cb_options()

              Adds a host key to the set of trusted host keys.

              This function is prefered to the old Module:add_host_key/3 since
              it also uses the peer host port number and may return  an  error
              message.

              The  OTP/SSH  application first calls this function in the call-
              back module, and then the old Module:add_host_key/3 for compati-
              bilty.

       Module:is_host_key(Key, Host, Algorithm, ConnectOptions) -> Result

              Types:

                 Key = public_key:public_key()
                   Normally  an  RSA, DSA or ECDSA public key, but handling of
                   other public keys can be added.
                 Host = string()
                   Description of the host.
                 Algorithm = ssh:pubkey_alg()
                   Host key algorithm.
                 ConnectOptions = client_key_cb_options()
                 Result = boolean()

              This function is  retired  in  favour  for  Module:is_host_key/5
              which  is the prefered API function. The calling SSH application
              will still try the is_host_key/4 if the  call  to  is_host_key/5
              failed.

              Checks if a host key is trusted.

       Module:is_host_key(Key,  Host,  Port, Algorithm, ConnectOptions) -> Re-
       sult

              Types:

                 Key = public_key:public_key()
                   Normally an RSA, DSA or ECDSA public key, but  handling  of
                   other public keys can be added.
                 Host  =  inet:ip_address()  | inet:hostname() | [ inet:ip_ad-
                 dress() | inet:hostname() ]
                   Description of the host with one or more  IP  addresses  or
                   hostnames.
                 Port = inet:port_number()
                   The Port number of the host.
                 Algorithm = ssh:pubkey_alg()
                   Host key algorithm.
                 ConnectOptions = client_key_cb_options()
                 Result = boolean() | {error, Error::term()}
                   The exact error message depends on the actual callback mod-
                   ule. The Error message makes the connection to fail, and is
                   returned from e.g ssh:connect/3.

              Checks if a host key is trusted.

              This  function is prefered to the old Module:is_host_key/4 since
              it also uses the peer host port number and may return  an  error
              message.

              The  OTP/SSH  application first calls this function in the call-
              back module, and then the old Module:is_host_key/4 for  compati-
              bilty.

       Module:user_key(Algorithm, ConnectOptions) -> Result

              Types:

                 Algorithm = ssh:pubkey_alg()
                   Host key algorithm.
                 ConnectOptions = client_key_cb_options()
                 Result  = {ok, public_key:private_key()} | {ok, {ssh2_pubkey,
                 PubKeyBlob :: binary()}} | {error, term()}

              Fetches the users public key matching the  Algorithm.  Some  key
              callback  modules  may  return  {ssh2_pubkey,  PubKeyBlob :: bi-
              nary()}.

          Note:
              The private key contains the public key.

Ericsson AB                        ssh 4.10           ssh_client_key_api(3erl)

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