++ed by:

6 PAUSE users
4 non-PAUSE users.

Benjamin Trott


Net::SSH::Perl::Auth::DSA - Perform DSA publickey authentication


    use Net::SSH::Perl::Auth;
    my $auth = Net::SSH::Perl::Auth->new('DSA', $ssh);


Net::SSH::Perl::Auth::DSA performs DSA authentication with a remote sshd server. When you create a new DSA auth object, you give it an $ssh object, which should contain an open connection to an ssh daemon, as well as any data that the authentication module needs to proceed. In this case, for example, the $ssh object might contain a list of DSA identity files (see the docs for Net::SSH::Perl).

The authenticate method tries to load each of the user's private key identity files (specified in the Net::SSH::Perl constructor, or defaulted to $ENV{HOME}/.ssh/id_dsa). For each identity, authenticate enters into a dialog with the sshd server.

The client sends a message to the server, giving its public key, plus a DSA signature of the key and the other data in the message (session ID, etc.). The signature is generated using the corresponding private key. The sshd receives the message and verifies the signature using the client's public key. If the verification is successful, the authentication succeeds. Otherwise the authentication fails.

When loading each of the private key files, the client first tries to load the key using an empty passphrase. If this fails, the client either prompts the user for a passphrase (if the session is interactive) or skips the key altogether.


Please see the Net::SSH::Perl manpage for author, copyright, and license information.