Lo normal en estos casos es usar el método de clave pública. No uses frase de paso en la definición de la clave.
Genera un par de claves en el ordenador cliente. Y lleva la clave pública al servidor. Luego, configura el servidor para corresponder esa clave pública con los accesos que provengan del cliente. Y ya está: no necesitarás escribir la contraseña más. Y las operaciones de copia, igual.
Humm... creo que es más fácil usar el módulo
Net::OpenSSH de nuestro compañero Salva. O el
Net::SCP. O el
Net::SCP::Expect. O el...
Puedes mirar el código que usan estos módulos para ver cómo realizan el paso de la contraseña... pero entonces te das cuenta de que es mucho más cómodo usar el módulo entero.
(no probado)
Using perl Syntax Highlighting
my $ssh = Net
::OpenSSH->new('sybase:password@dc-db2-db');
$ssh->scp_put({recursive
=> 1}, "/tmp/$file", '/tmp/');Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4