trusty (3) ssh_client_key_api.3erl.gz

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