web-dev-qa-db-fra.com

Comment ssh avec nom d'utilisateur et mot de passe Linux automatiquement à partir de bash

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)
5
user1103205

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
5
u8sand

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 .

0