2016-06-06 3 views
2

Основываясь на вопрос Key based authenication with net-sftp in Ruby, я могу SFTP с ключом аутентификации на основе, используя следующие:Passphrase Key на основе authenication с нетто-SFTP в Руби

Net::SFTP.start(host, "user", keys:['~/.ssh/my_key']) do |sftp| 
    sftp.upload! "/local/file.tgz", "/remote/file.tgz" 
end 

Но я не могу получить эту работу для ключей, требуется кодовая фраза - я просто получаю запрос на вход пользователя на этом хосте. Я пропустил что-то, чтобы пройти, что позволило бы мне ввести кодовую фразу для моего ключа? Или мне нужно просто придерживаться ssh-agent?

ответ

2

Там в passphrase вариант:

парольная фраза, используемая при загрузке секретного ключа (по умолчанию является nil, без всякой ключевой фразы)

Если вы не укажете passphrase, вы должны получите запрос за один, если вы не использовали опцию non_interactive:

установить в t проклинать, если ваше приложение не является интерактивным и предпочитает Ошибки аутентификации против ввода пароля

неинтерактивных приложение должно установить его истинную предпочитать неудачу пароль/и т.д. AUTH методы против запрашивая пароль

+1

вы можете указать на Документы для этого? я ничего не вижу в rdoc относительно опции «passphrase» – ptierno

+3

Код - лучшая документация: https://github.com/net-ssh/net-ssh/blob/bfcc0fdbacd2f049b718bb8f204d07fb85520c43/lib/net/ssh.rb#L162 –

+1

thx, и я бы рекомендовал авторам 'net-sftp' упоминать ссылки на документы net-ssh. http://www.rubydoc.info/gems/net-sftp/2.0.5/Net/SFTP этот документ не делает этого очевидным. – ptierno

Смежные вопросы