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
- 1502 reads