bionic (3) ssh_client_key_api.3erl.gz

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

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
       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:add_host_key(HostNames, Key, ConnectOptions) -> ok | {error, Reason}

              Types:

                 HostNames = string()
                   Description of the host that owns the PublicKey.
                 Key = public_key()
                   Normally an RSA, DSA or ECDSA public key, but handling of other public keys can be added.
                 ConnectOptions = proplists:proplist()
                   Options  provided  to  ssh:connect/[3,4].  The  option  list  given  in  the key_cb option is
                   available with the key key_cb_private.
                 Reason = term().

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

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

              Types:

                 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 = public_key_algorithm()
                   Host key algorithm.
                 ConnectOptions = proplists:proplist()
                   Options provided to ssh:connect/[3,4].  The  option  list  given  in  the  key_cb  option  is
                   available with the key key_cb_private.
                 Result = boolean()

              Checks if a host key is trusted.

       Module:user_key(Algorithm, ConnectOptions) -> {ok, PrivateKey} | {error, Reason}

              Types:

                 Algorithm = public_key_algorithm()
                   Host key algorithm.
                 ConnectOptions = proplists:proplist()
                   Options  provided  to  ssh:connect/[3,4].  The  option  list  given  in  the key_cb option is
                   available with the key key_cb_private.
                 PrivateKey = private_key()
                   Private key of the user matching the Algorithm.
                 Reason = term()

              Fetches the users public key matching the Algorithm.

          Note:
              The private key contains the public key.