Capistrano SSH:: AuthenticationFailed, не запрашивая пароль
Я уже некоторое время успешно использую capistrano, и внезапно в каждом проекте я потерял возможность развертывания.
среда:
- os X (Mavericks)
- ruby 1.9. 3p194
- rvm (локально, не на сервере)
- рельсы 3.2 и выше
- RubyGems 1.8.25
Я не использую rsa_keys или что-нибудь, что я хочу, чтобы capistrano запрашивал пользователя и пароль. Вдруг он решил не спрашивать для пароля, но запрашивает пользователя. Затем он откатывается назад и дает мне следующую ошибку.
[deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: sub.example.com (Net::SSH::AuthenticationFailed: Authentication failed for user [email protected])
connection failed for: sub.example.com (Net::SSH::AuthenticationFailed: Authentication failed for user [email protected])
Это произошло на моем личном ноутбуке и моем iMac на работе. Это происходит при развертывании на двух разных серверах (и Linux)
Я полностью в недоумении. Есть идеи?
9 ответов:
все понял! Видимо эта проблема была с
net-sshкамень. У меня была версия 2.8.0, установленная недавно с некоторыми обновлениями в моей среде разработки, и это было причиной.Я не уверен, почему это не удалось, но
gem uninstall net-ssh -v 2.8.0<фиксированная это для меня.Если кто-то знает, почему это было проблемой или как я могу исправить эту проблему с новой версией
net-sshМне было бы интересно его услышать.
ответ может сломать ваше приложение rails из-за зависимости от драгоценного камня.
проблема с net-ssh, как правильно ответил Sparkmasterflex, однако в то время как это заставит Капистрано работать нормально, это может сломать ваше приложение rails:
эти шаги исправили как Капистрано, так и рельсы для меня ...
- в вашем Gemfile добавить
gem 'net-ssh', '2.7.0'- выполнить
bundle update net-ssh- выполнить
bundle(просто чтобы убедиться, что все работает нормально'- выполнить
gem uninstall net-ssh -v 2.8.0если вы являетесь пользователем rails, теперь вы можете запускать как сервер rails, так и capistrano.
у меня есть обходной путь, который не требует понижения
net-ssh, за комментарий ссылке это Зак Липтон выложил. Поместите этот код вconfig/deploy.rb:set :ssh_options, { config: false #Other options... }после того, как я сделал это, я получил еще одну ошибку,
Error reading response length from authentication socket.нашел решение этой здесь. Выполните следующие команды в командной строке код:$ eval $(ssh-agent) $ ssh-add
обновление версии net-ssh до 2.8.1 решит проблему. Они выпустили версию bump в 19 февраля 2014 года, которые исправляют эту и другие проблемы.
- удалить текущую нетто-СШ Перл (жемчужина установите net-СШ -в 'Версия')
просто вставьте это в свой Gemfile:
gem 'net-ssh', '~ > 2.8.1',: git =>"https://github.com/net-ssh/net-ssh"
запустить пакет install
У меня была такая же проблема при развертывании с помощью capistrano Объем::СШ::AuthenticationFailed: не удалось выполнить проверку подлинности для развертывания пользователя@ИС
ssh-copy-id deployer@ip
Это добавить ключи к серверу, и вы можете войти без пароля.
этот код работает для меня:
group :development do #..... gem 'capistrano', "~> 2.15" gem "net-ssh", "~> 2.7.0" #..... end
set :ssh_options, { verbose: :debug }... очень помогает!
у меня была проблема, что я создал свои открытые и закрытые ключи с
puttygenи экспортированный закрытый ключ как OpenSSH с именем<somename>.id_rsa. Затем сохраненный открытый ключ с именем<somename>.id_rsa.pub.( ! ) Открытый ключ puttygen сохраняет в формате RFC 4716, а не PEM. Используйте
publicсуффикс вместоpubдля файла с открытым ключом -
сначала попробуйте подключиться к серверу с сертификатом (файл.Пэм) с помощью этой команды:
ssh -i "file.pem" user@yourServerIpзатем попробуйте запустить Cap production deploy. Это решило ошибку для меня. Я думаю, что это потому, что срок действия сертификата истек.
Если все вышеперечисленные решения не работают, перезагрузите систему, поскольку вы можете столкнуться с проблемой из-за подключений к хосту net-ssh.когда вы перезапускаете и вводите команду развертывания, она попросит добавить удостоверение к известным хостам.
Comments