Ich habe öffentliche und private SSH-Schlüssel auf allen meinen drei Servern (Entwickler, UAT und Produktion), damit ich mich remote oder von einem zum anderen anmelden kann. Alles funktioniert perfekt für die ssh
und scp
Befehle.
Bei Drush funktioniert es jedoch nicht . Wenn ich drush @dev status
zum Beispiel von UAT ausführe , erhalte ich das Banner des Servers, auf dem steht, dass das System "nur von autorisierten Benutzern verwendet werden soll, bla bla bla ", und dann bekomme ich
Berechtigung verweigert (öffentlicher Schlüssel, Passwort, tastaturinteraktiv).
Meine ~/.drush/aliases.drushrc.php
Datei enthält:
# 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'
);
NUR Drush hat Probleme mit meinen SSH-Schlüsseln. Was könnte verhindern, dass es funktioniert?
sudo
vorher verwenden drush
und es scheint, dass alles als root ausgeführt wird (eine Sicherheitslücke , über die ich den Systemadministrator informiert habe). Es scheint, dass dies das Problem ist. Ich bin derzeit auf der Suche nach einer Lösung, während ich auf den Systemadministrator warte ...
www-data
(zum Beispiel) ausgeführt wird, sind Ihre SSH-Schlüssel möglicherweise falsch / nicht zulässig / nicht auf der Whitelist.