J'ai des clés ssh publiques et privées sur chacun de mes trois serveurs (dev, UAT et production) afin que je puisse me connecter à distance ou de l'un à l'autre. Tout fonctionne parfaitement pour les commandes ssh
et scp
.
Cependant, cela ne fonctionne pas pour Drush. Si j'exécute à drush @dev status
partir d'UAT, par exemple, j'obtiens la bannière du serveur disant que le système "doit être utilisé par des utilisateurs autorisés uniquement bla bla bla ", puis j'obtiens
Autorisation refusée (publickey, mot de passe, clavier interactif).
Mon ~/.drush/aliases.drushrc.php
dossier contient:
# 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'
);
SEULEMENT Drush a un problème avec mes clés ssh. Qu'est-ce qui pourrait l'empêcher de fonctionner?
www-data
(par exemple), vos clés SSH peuvent être incorrectes / interdites / non mises en liste blanche.sudo
avantdrush
et il semble que tout fonctionne en tant que root (un trou de sécurité dont j'ai alerté le sysadmin). Il semble que ce soit le problème. Je suis actuellement à la recherche d'une solution en attendant le sysadmin ...Réponses:
Mettez cette ligne dans votre fichier drushrc.php:
Cela entraînera Drush à transmettre ces options à ssh chaque fois qu'il appelle votre système distant, vous pouvez donc continuer à appeler Drush via sudo et toujours utiliser vos informations de connexion utilisateur.
la source
Vérifiez ici: Comment exécuter Drush en tant qu'Apache
Par le son, il vous suffit de changer le propriétaire / groupe pour Drush sur votre serveur!
la source