Provided by: erlang-manpages_20.2.2+dfsg-1ubuntu2_all bug

NAME

       ssh_server_key_api -
           -behaviour(ssh_server_key_api).

DESCRIPTION

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

DATA TYPES

       Type definitions that are used more than once in this module, or abstractions to  indicate
       the  intended  use  of  the data type, or both. For more details on public key data types,
       refer to Section 2 Public Key Records in the  public_key user's guide.

         boolean() =:
           true | false

         string() =:
           [byte()]

         public_key() =:
           #'RSAPublicKey'{}             |              {integer(),#'Dss-Parms'{}}              |
           {#'ECPoint'{},{namedCurve,Curve::string()}}

         private_key() =:
           #'RSAPrivateKey'{} | #'DSAPrivateKey'{} | #'ECPrivateKey'{}

         public_key_algorithm() =:
           'ssh-rsa'  |  'ssh-dss'  |  'rsa-sha2-256' | 'rsa-sha2-384' | 'rsa-sha2-512' | 'ecdsa-
           sha2-nistp256' | 'ecdsa-sha2-nistp384' | 'ecdsa-sha2-nistp521'

EXPORTS

       Module:host_key(Algorithm, DaemonOptions) -> {ok, Key} | {error, Reason}

              Types:

                 Algorithm = public_key_algorithm()
                   Host key algorithm.
                 DaemonOptions = proplists:proplist()
                   Options provided to ssh:daemon/[2,3]. The option  list  given  in  the  key_cb
                   option is available with the key key_cb_private.
                 Key = private_key() | crypto:engine_key_ref()
                   Private  key  of  the  host matching the Algorithm. It may be a reference to a
                   'ssh-rsa', rsa-sha2-* or 'ssh-dss' (NOT ecdsa) key stored in a loaded Engine.
                 Reason = term()

              Fetches the private key of the host.

       Module:is_auth_key(Key, User, DaemonOptions) -> Result

              Types:

                 Key = public_key()
                   Normally an RSA, DSA or ECDSA public key, but handling of  other  public  keys
                   can be added
                 User = string()
                   User owning the public key.
                 DaemonOptions = proplists:proplist()
                   Options  provided  to  ssh:daemon/[2,3].  The  option list given in the key_cb
                   option is available with the key key_cb_private.
                 Result = boolean()

              Checks if the user key is authorized.