Tengo claves ssh públicas y privadas en todos mis tres servidores (dev, UAT y producción) para poder iniciar sesión de forma remota o de uno a otro. Todo funciona perfectamente para los comandos ssh
y scp
.
Sin embargo, no funciona para Drush. Si ejecuto drush @dev status
desde UAT, por ejemplo, obtengo el banner del servidor que dice que el sistema "debe ser utilizado por usuarios autorizados solo bla, bla, bla ", y luego obtengo
Permiso denegado (clave pública, contraseña, teclado interactivo).
Mi ~/.drush/aliases.drushrc.php
archivo contiene:
# Development #
$aliases['dev'] = array(
'uri' => 'http://default',
'root' => '/var/www/vhosts/dev.www.company.com/current/',
'remote-host' => 'companya0.company.com',
'remote-user' => 'myusername'
);
# UAT #
$aliases['uat'] = array(
'uri' => 'http://default',
'root' => '/var/www/vhosts/uat.www.company.com/current/',
'remote-host' => 'companyc6.company.com',
'remote-user' => 'myusername'
);
# Production #
$aliases['prod'] = array(
'uri' => 'http://default',
'root' => '/var/www/vhosts/www.company.com/current/',
'remote-host' => 'companyc1.company.com',
'remote-user' => 'myusername'
);
SOLO Drush tiene algún problema al usar mis teclas ssh. ¿Qué podría estar evitando que funcione?
sudo
antes drush
y parece que todo se está ejecutando como root (un agujero de seguridad del que he alertado al administrador del sistema). Parece que este es el problema. Actualmente estoy buscando una solución mientras espero el administrador del sistema ...
www-data
(por ejemplo), entonces sus claves SSH pueden estar equivocadas / no permitidas / no incluidas en la lista blanca.