Re: Returned post for [email protected]

Salvador Fandino <[email protected]> Wed, 21 Apr 2010 10:18:57 +0200
Newsgroups gmane.network.openssh.general
Message-ID <[email protected]>
On 04/19/2010 03:16 PM, Jannik Sundø wrote:
> Hi all,
>
> I'm writing a script which will log into a list of servers if they have public/private keypairs set up. If a server doesn't, I want the script to move on to the next server rather than wait at a password prompt.
>
> I'm using OpenSSH version 5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007 on both client and server.
>
> I'm using this command:
>
> ssh root@IP -o PasswordAuthentication=no KbdInteractiveAuthentication=no
>
> This works for most servers, but not all (on some of them the script halts at a password prompt). I suspect those servers may run an older version of SSH which doesn't support the options I'm providing. Any ideas? Thanks for any help.

try

   ssh root@IP -o PreferredAuthentications=publickey $command


And if you can write Perl, check also the Net::OpenSSH and 
Net::OpenSSH::Parallel modules.

http://search.cpan.org/~salva/Net-OpenSSH-0.47/lib/Net/OpenSSH.pm
http://search.cpan.org/~salva/Net-OpenSSH-Parallel-0.06/lib/Net/OpenSSH/Parallel.pm

- Salva