Create a new credential object given a SSH public and private key files,
and optionall the password of the private key.
If the SSH support has not been enabled at build-time,
this method will always return undef.

Create a new credential object based on interactive authentication.
The callback $callback will be invoked when the remote-side issues a challenge.
It receives the following parameters: $name,
$instruction and @prompts.
Any of the parameters passed to the callback may be undefined.
Each $prompt entry in @prompts is a hash reference that may contain:

"text"

Text for the prompt.

"echo"

Parameter indicating whether the response of the challenge is safe to be echoed.

The callback should return a list of responses,
one for each prompt.
If the SSH support has not been enabled at build-time,
this method will always return undef.