deployer Too many authentication failures host Пример настройки ssh
Primary tabs
Received disconnect from ... port 22:2: Too many authentication failures
Connection to .... closed by remote host.
muxclient: master hello exchange failed
Failed to connect to new control master
Возможная причина и решение
Если у вас в ~/.ssh/config все настроено как надо и команда
ssh имяхоста
выполняется без проблем, то вообще не указывайте в конфигурации хоста в deploy.php ничего кроме имени хоста (это может быть вообще псевдоним), т.е. в моем случае не работала конфигурация вроде:
host('debloc') ->hostname('192.168.56.10') ->user('debuser') ->stage('test') ->configFile('~/.ssh/config') //->identityFile('~/.ssh/debloc_rsa') // без этого не работал ->set('deploy_path', '/var/www/ktu2') ->set('composer_options', '{{composer_action}} --verbose --prefer-dist --no-progress --no-interaction ') ->forwardAgent(false);
при наличии в ~/.ssh/config настроек (но не только для этого хоста):
Host debloc Hostname 192.168.56.10 User debuser Port 22 IdentityFile ~/.ssh/debloc_rsa
Видимо, наличие имени пользователя и хоста уже приводило к отказу от реального чтения ~/.ssh/config, поэтому в итоге решением оказался переход на конфиг, где указывается только имя хоста:
host('debloc') ->stage('test') ->set('deploy_path', '/var/www/ktu2') ->set('composer_options', '{{composer_action}} --verbose --prefer-dist --no-progress --no-interaction ') ->forwardAgent(false);
Т.е. в общем случае:
host('имяхоста') ->stage('test') ->set('deploy_path', '/var/www/ktu2') ->set('composer_options', '{{composer_action}} --verbose --prefer-dist --no-progress --no-interaction ') ->forwardAgent(false);
(это же имяхоста вы должны описать в вашем локальном .ssh, это удобно если вы не хотите хранить настройки соединения, адрес сервера и т.д. в репозитории, если же вам нужно деплоить из самых разных мест, то, можно явно прописать все настройки, как уже было сказано выше, но тогда на указать и путь к ключу, который примет сервер:
<pre class="brush: php"> host('debloc') ->hostname('192.168.56.10') ->user('debuser') ->stage('test') ->configFile('~/.ssh/config') ->identityFile('~/.ssh/debloc_rsa') // без этого не работал ->set('deploy_path', '/var/www/ktu2') ->set('composer_options', '{{composer_action}} --verbose --prefer-dist --no-progress --no-interaction ') ->forwardAgent(false); </pre>
)
- Log in to post comments
- 1008 reads