В течение многих лет я успешно развертывал свое приложение Rails 3.2.13 с использованием Capistrano. Но только сегодня я столкнулся с ужасным ArgumentError: Could not parse PKey: no start line
при подключении к серверу.
Из других постов, которые я понял, это на самом деле проблема с самоцветом net-ssh
, который Capistrano использует для установления соединения. Очевидно, более старые версии net-ssh
не совместимы с файлами ключей, созданными в более поздних версиях OpenSSH. (См., Например, здесь и здесь .)
Этот диагноз поддерживается (а) тем фактом, что я все еще могу использовать SSH на моем сервере из командной строки, и (б) следующим небольшим сеансом irb
:
irb(main):006:0> require 'net/ssh'
=> true
irb(main):007:0> Net::SSH::KeyFactory.load_private_key('~/.ssh/id_rsa')
ArgumentError: Could not parse PKey: no start line
Полагаю, я недавно обновил свой файл закрытого ключа, когда изменил свой пароль, и теперь он несовместим с моей версией net-ssh
(v2.7.0).
Я не могу обновить net-ssh
, так как я застрял с Ruby 1.9.3.
Возможно, есть ли способ вернуться к старой / совместимой версии файла закрытого ключа? Или, может быть, какое-то другое решение?