J'essaie de ssh avec le nom d'utilisateur et le mot de passe fourni.
Restrictions:
1. Je ne veux pas avoir à créer une clé publique pour chacun des serveurs que j'essaie de SSH.
[.____] 2. Je ne veux pas/avoir accès à installer l'outil SshPass.
Tentatives:
echo examplePassword | ssh exampleUser@exampleServer
ssh exampleUser@exampleServer < password.txt (contains password)
Une recherche Google rapide m'a amené à ce post de débordement de la pile: https://stackoverflow.com/questions/16928004/how-a-enter-ssh-password-utilisateur-bash
Bien que je ne l'ai pas utilisé avant ou essayé, cela semble raisonnablement raisonnable en supposant que vous vous attendiez.
#!/usr/bin/expect -f
spawn ssh [email protected]
expect "assword:"
send "mypassword\r"
interact
Vous pouvez utiliser Perl:
#!/usr/bin/Perl
use warnings;
use strict;
use Net::SSH::Perl;
my $Host = 'remote.serv.er';
my $user = 'root';
my $pass = 'hunter2';
my $ssh = Net::SSH::Perl->new('$Host');
$ssh->login('$user', '$pass') or die "Oh noes! $!";
Je n'ai pas testé ce code, il a été pris de cette réponse .