Sto provando a connettermi a un server SSH remoto utilizzando Net :: SSH2. Commandline ssh funziona bene. Io non riesco a capire i parametri auth_hostbased corretti, anche sePerl Net :: Problema di autenticazione pubkey SSH2
Questo è il mio codice:
use Net::SSH2;
my $ssh = Net::SSH2->new();
$ssh->debug(1);
$ssh->trace(-1);
$ssh->connect('remotehost.remotedomain.tld') or die;
$ssh->auth_hostbased('username',
'ssh-rsa AAAAB3Nz[..]C0JoaFF9 [email protected]',
'-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,FA97214E87562096A7E480C82DAE5EB4
XIMKnj9k[..]kpRo5V
-----END RSA PRIVATE KEY-----',
'myhost.mydomain.tld',
'username',
'keypassword') or die;
Il frammento muore @ $ ssh-> auth_hostbased con solo un 'Net :: :: SSH2 DISTRUGGERE oggetto 0xe17de0' . L'impostazione della traccia non sembra avere importanza. Sostituire die con $ ssh-> die_with_error genera un 'die_with_error non una macro Net :: SSH2 valida'. Download della versione 0.53 corrente di Net: SSH2 non ha funzionato in quanto lo script non compila più: 'Net :: SSH2 versione dell'oggetto 0.44 non corrisponde al parametro bootstrap 0.53'
Qualsiasi aiuto sul formato di parametro corretto o un modulo alternativo è apprezzato.
si passa la passphrase come ultimo argomento, giusto? Quale modalità di autenticazione hai usato quando ti sei connesso dalla riga di comando? – SilentMonk
Funziona in bash: 'ssh -i /root/.ssh/privkey [email protected] ls -l' e quindi inserisco keypassword per sbloccare privkey – Marcus
Utilizzare il metodo 'auth_publickey'. BTW, ultima versione di Net :: SSH2 è 0,60. – salva