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?
www-data
(zum Beispiel) ausgeführt wird, sind Ihre SSH-Schlüssel möglicherweise falsch / nicht zulässig / nicht auf der Whitelist.sudo
vorher verwendendrush
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 ...Antworten:
Fügen Sie diese Zeile in Ihre Datei drushrc.php ein:
Dies führt dazu, dass Drush diese Optionen bei jedem Aufruf Ihres Remote-Systems an ssh weiterleitet, sodass Sie Drush weiterhin über sudo aufrufen und weiterhin Ihre Anmeldeinformationen verwenden können.
quelle
Überprüfen Sie hier: So führen Sie Drush als Apache aus
Laut Sound müssen Sie nur den Eigentümer / die Gruppe für Drush auf Ihrem Server ändern!
quelle