++ed by:

9 PAUSE users
7 non-PAUSE users.

Author image Steffen Schwigon
and 2 contributors


Net::SSH::Perl::Auth::Rhosts - Perform Rhosts authentication


    use Net::SSH::Perl::Auth;
    my $auth = Net::SSH::Perl::Auth->new('Rhosts', $ssh);
    print "Valid auth" if $auth->authenticate;


Net::SSH::Perl::Auth::Rhosts performs Rhosts authentication with a remote sshd server. When you create a new Rhosts 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, the $ssh object must contain the name of the user trying to open the connection.

Rhosts authentication is fairly simple from a protocol point of view. However, note that the sshd server will require your client to be running on a privileged port (below 1024); this will, in turn, likely require your client to be running as root. If your client is not running on a privileged port, the Rhosts authentication request will be denied.

If you're running as root, Net::SSH::Perl should automatically detect that and try to start up on a privileged port. If for some reason that isn't happening, take a look at the Net::SSH::Perl docs.

With that aside, to use Rhosts authentication the client sends a request to the server to authenticate it, including the name of the user trying to authenticate. The server uses its shosts.equiv, hosts.equiv, etc. files to determine whether the user/host should be allowed access.


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