web-dev-qa-db-fra.com

Qu'est-ce qui pourrait entraîner l'échec des commandes de nettoyage à distance avec des erreurs ssh lorsque ssh fonctionne dans tous les autres cas?

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.

Cela ne fonctionne pas , cependant, pour Drush. Si j'exécute drush @dev status de UAT, par exemple, j'obtiens la bannière du serveur indiquant que le système "doit être utilisé uniquement par les utilisateurs autorisés bla bla bla ", puis Je reçois

Autorisation refusée (publickey, mot de passe, clavier interactif).

Ma ~/.drush/aliases.drushrc.php le fichier 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?

10
iconoclast

Mettez cette ligne dans votre fichier drushrc.php:

$options['ssh-options'] = '-o PasswordAuthentication=no -i /home/YOURUSERNAME/.ssh/id_rsa';

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.

19
greg_1_anderson

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!

1
Chapabu