Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2.2_all bug

NAME

       ssh_client_key_api -
            -behaviour(ssh_client_key_api).

DESCRIPTION

       Behavior  describing  the API for an SSH client's public key handling. By implementing the
       callbacks defined. in this behavior it is possible to customize the  SSH  client's  public
       key  handling.  By  default  the SSH application implements this behavior with help of the
       standard openssh files, see  ssh(7).

DATA TYPES

       Type definitions that are used more than  once  in  this  module  and/or  abstractions  to
       indicate  the intended use of the data type. For more details on public key data types see
       the  public_key user's guide.

       boolean() = true | false

       string() = [byte()]

       public_key() = #'RSAPublicKey'{}| {integer(), #'Dss-Parms'{}}| term()

       private_key() = #'RSAPrivateKey'{} | #'DSAPrivateKey'{} | term()

       public_key_algorithm() = 'ssh-rsa'| 'ssh-dss' | atom()

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 or DSA public key but handling of other public  keys  can  be
                   added
                 ConnectOptions = proplists:proplist()
                   Options provided to ssh:connect/[3,4]
                 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  or DSA public key but handling of other public keys can be
                   added
                 Host = string()
                   Description of the host
                 Algorithm = public_key_algorithm()
                    Host key  algorithm.  Should  support  'ssh-rsa'|  'ssh-dss'  but  additional
                   algorithms can be handled.
                  ConnectOptions = proplists:proplist()
                   Options provided to ssh:connect/[3,4]
                  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.  Should  support  'ssh-rsa'|  'ssh-dss'  but additional
                   algorithms can be handled.
                  ConnectOptions = proplists:proplist()
                   Options provided to ssh:connect/[3,4]
                  PrivateKey = private_key()
                    The 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