Michael Schilli > Net-SSH-AuthorizedKeysFile > Net::SSH::AuthorizedKey

Download:
Net-SSH-AuthorizedKeysFile-0.10.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Source  

NAME ^

Net::SSH::AuthorizedKey - Virtual Base Class for SSH Public Keys

SYNOPSIS ^

    use Net::SSH::AuthorizedKey;

    my $key = Net::SSH::AuthorizedKey->parse( $line );

    if(defined $key) {
          # ssh-1 or ssh-2
        print "Key parsed, type is ", $key->type(), "\n";
    } else {
        die "Cannot parse key (", $key->error(), ")";
    }

DESCRIPTION ^

Net::SSH::AuthorizedKey is a virtual base class for ssh public keys. Real implementations of it are Net::SSH::AuthorizedKey::SSH1 and Net::SSH::AuthorizedKey::SSH2.

The only way to using it directly is by calling its parse() method, and handing it an authorized_keys string (aka a line from an authorized_keys file). If it recognizes either a ssh-1 or a ssh-2 type key, it will return a Net::SSH::AuthorizedKey::SSH1 or a Net::SSH::AuthorizedKey::SSH2 object. See their manual pages for instructions on how to use them.

NOTES FOR SUBCLASS DEVELOPERS ^

If you're just using Net::SSH::AuthorizedKey to parse keys, the following section doesn't concern you. It's only relevant if you add new subclasses to this package, on top of what's already provided.

Net::SSH::AuthorizedKey is a (semi-)virtual base class implements options handling for its SSH1 and SSH2 subclasses.

SSH key lines can contain options that carry values (like command="ls") and binary options that are either set or unset (like "no_agent_forwarding"). To distinguish the two, and to provide a set of allowed option names, the subclass has to implement the method option_type(), which takes an option name, and returns

The subclasses Net::SSH::AuthorizedKey::SSH1 and Net::SSH::AuthorizedKey::SSH2 are doing this already.

LEGALESE ^

Copyright 2005-2009 by Mike Schilli, all rights reserved. This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR ^

2005, Mike Schilli <m@perlmeister.com>