У меня есть открытые и закрытые ssh-ключи на всех моих трех серверах (dev, UAT, & production), поэтому я могу войти удаленно или с одного на другой. Все прекрасно работает для ssh
и scp
команд.
Это не работает, однако, для Drush. drush @dev status
Например, если я выполняю из UAT, я получаю баннер сервера, на котором написано, что система «должна использоваться только авторизованными пользователями, бла-бла-бла », и затем я получаю
В доступе отказано (публичный ключ, пароль, клавиатура-интерактив).
Мой ~/.drush/aliases.drushrc.php
файл содержит:
# 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'
);
ТОЛЬКО у Drush есть проблемы с использованием моих ключей ssh. Что может помешать его работе?
sudo
раньше, drush
и кажется, что все работает как root (дыра в безопасности, о которой я предупреждал сисадмина). Похоже, что это проблема. В настоящее время я ищу решение, пока жду сисадмина ...
www-data
(например), то ваши SSH-ключи могут быть неправильными / запрещенными / не в белом списке.