Capistrano не может развернуть код, потому что Net:: SSH:: AuthenticationFailed: Ошибка аутентификации
У нас есть приложение Rails, которое работает на Amazon AWS. Мы нажимаем туда новый код почти каждый день в течение нескольких месяцев подряд.
Сегодня, когда я попытался развернуть новый код, мне было предоставлено следующее сообщение об ошибке:
* 2014-02-16 13:09:51 executing `deploy'
* 2014-02-16 13:09:51 executing `deploy:update'
** transaction: start
* 2014-02-16 13:09:51 executing `deploy:update_code'
updating the cached checkout on all servers
executing locally: "git ls-remote [email protected]:my_bitbucket_name/project_name.git master"
command finished in 2909ms
* executing "if [ -d /home/deployer/project_name/shared/cached-copy ]; then cd /home/deployer/project_name/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 16958dfcee27dd9c33855ecece0013428e2c57c8 && git clean -q -d -x -f; else git clone -q -b master [email protected]:rdudacz/looky.co.git /home/deployer/looky/shared/cached-copy && cd /home/deployer/project_name/shared/cached-copy && git checkout -q -b deploy 16958dfcee27dd9c33855ecece0013428e2c57c8; fi"
servers: ["IP"]
*** [deploy:update_code] rolling back
* executing "rm -rf /home/deployer/project_name/releases/20140216120957; true"
servers: ["IP"]
** [deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: IP (Net::SSH::AuthenticationFailed: Authentication failed for user [email protected])
connection failed for: IP (Net::SSH::AuthenticationFailed: Authentication failed for user [email protected])
Что здесь произошло? С чего начать с поиска проблемы?
Заранее благодарю
Ответы
Ответ 1
Проблема - это драгоценный камень
сетчатой SSH
Последняя проблема (2.8.0) вызывает эту проблему. Решение состоит в его удалении:
gem uninstall net-ssh -v 2.8.0
а затем добавить в Gemfile свою предыдущую версию:
gem "net-ssh", "~> 2.7.0"
Что это.
Ответ 2
У меня была такая же проблема при развертывании с использованием capistrano
Net:: SSH:: AuthenticationFailed: Ошибка аутентификации для пользовательского развертывателя @IP
ssh-copy-id [email protected]
Это добавит ваши ключи к серверу, и вы сможете войти в систему без пароля.
Ответ 3
После удаления net-ssh 2.8.0 удалите также gemfile.lock. Это будет нормально.
Ответ 4
Удалите старый net-ssh и установите обновление, как показано ниже, добавьте его в свой файл gem или можете установить его в своей среде, указав версию 2.9.2.
gem 'net-ssh', '~> 2.9.2'
Его работы для меня.
Ответ 5
Для capistrano2 в вашем deploy.rb
- net-ssh 2.9.1 set
:ssh_options, { config: false}
- net-ssh 2.9.2 set
:ssh_options, { config: false, number_of_password_prompts: 0 }