in reply to Re: connecting via SSH
in thread connecting via SSH
Normally, the default is accessed by getservbyname, but Windows doesn't have SSH in the "database" accessed by getservbyname. There are three solutions:
Specify the port explicitely, as suggested in the parent post.
Upgrade to version Net::SSH::Perl version 1.27 or higher. Instead of relying entirely on getservbyname, version 1.27 and higher use 22 (hardcoded) as the port number if getservbyname fails.
Older version (<= 1.26):
my @serv = getservbyname(my $serv = $rport, 'tcp'); $rport = $serv[2]; croak "Can't map service name '$serv' to port number" unless defined $rport;
Newer version (>= 1.27):
my @serv = getservbyname(my $serv = $rport, 'tcp'); $rport = $serv[2] || 22;
Add SSH to the services "database". In windows, it's %SystemRoot%\system32\drivers\etc\services, a text file identical to unix's /etc/services. The entry to add is simply:
ssh 22/tcp # Secure Shell Login
|
|---|