Mam publiczne i prywatne klucze ssh na wszystkich moich trzech serwerach (programistycznym, UAT i produkcyjnym), dzięki czemu mogę logować się zdalnie lub z jednego do drugiego. Wszystko działa idealnie dla poleceń ssh
i scp
.
Nie działa to jednak w przypadku Drusha. drush @dev status
Na przykład, jeśli wykonam z UAT, dostaję sztandar serwera z informacją, że system ma być „używany tylko przez autoryzowanych użytkowników bla bla bla ”
Odmowa dostępu (klucz publiczny, hasło, klawiatura interaktywna).
Mój ~/.drush/aliases.drushrc.php
plik zawiera:
# 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'
);
TYLKO Drush ma problem z używaniem moich kluczy ssh. Co może przeszkadzać w jego działaniu?
www-data
(na przykład), twoje klucze SSH mogą być niepoprawne / zabronione / nie umieszczone na białej liście.sudo
wcześniejdrush
i wydaje się, że wszystko działa jako root (dziura w zabezpieczeniach, o której powiadomiłem sysadmin). Wygląda na to, że to jest problem. Obecnie szukam rozwiązania , czekając na sysadmin ...Odpowiedzi:
Umieść tę linię w pliku drushrc.php:
Spowoduje to, że Drush przekaże te opcje ssh za każdym razem, gdy zadzwoni do twojego zdalnego systemu, dzięki czemu będziesz mógł nadal dzwonić do Drusha przez sudo i nadal używać danych logowania użytkownika.
źródło
Sprawdź tutaj: Jak uruchomić Drusha jako Apache
Po prostu musisz zmienić właściciela / grupę Drush na swoim serwerze!
źródło