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