Eu tenho chaves ssh públicas e privadas em todos os meus três servidores (dev, UAT e produção) para poder efetuar login remotamente ou de um para outro. Tudo está funcionando perfeitamente para os comandos ssh
e scp
.
Ele não funcionar, no entanto, para Drush. Se eu executar drush @dev status
no UAT, por exemplo, recebo o banner do servidor dizendo que o sistema "deve ser usado apenas por usuários autorizados blá blá blá " e, em seguida, recebo
Permissão negada (chave pública, senha, teclado interativo).
Meu ~/.drush/aliases.drushrc.php
arquivo contém:
# 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'
);
SOMENTE Drush tem algum problema ao usar minhas teclas ssh. O que poderia estar impedindo que funcionasse?
www-data
(por exemplo), suas chaves SSH podem estar erradas / não permitidas / não incluídas na lista de permissões.sudo
antesdrush
e parece que tudo está funcionando como root (uma falha de segurança que eu alertei o administrador do sistema). Parece que este é o problema. Atualmente estou procurando uma solução , enquanto espero para o sysadmin ...Respostas:
Coloque esta linha no seu arquivo drushrc.php:
Isso fará com que o Drush repasse essas opções para o ssh sempre que chamar o sistema remoto, para que você possa continuar chamando o Drush via sudo e ainda usar suas credenciais de usuário de login.
fonte
Verifique aqui: Como executar o Drush as Apache
Ao que parece, você só precisa mudar o proprietário / grupo do Drush no seu servidor!
fonte