2016-06-06 6 views
2

Basierend auf Frage Key based authenication with net-sftp in Ruby, kann ich mit Schlüssel-basierte Authentifizierung SFTP die folgenden:Passphrase Key-basierte authenication mit net-SFTP in Ruby

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

Aber ich kann das nicht für Schlüssel zur Arbeit kommen, dass benötige eine Passphrase - Ich werde nur zur Benutzeranmeldung auf diesem Host aufgefordert. Fehle ich etwas, das ich weitergeben könnte, damit ich die Passphrase für meinen Schlüssel eingeben kann? Oder muss ich dafür einfach bei ssh-agent bleiben?

Antwort

2

Es gibt die passphrase Option:

das Passwort zu verwenden, wenn Sie einen privaten Schlüssel Laden (default ist nil, ohne Passwort)

Wenn Sie nicht die passphrase angeben, sollten Sie Wenn Sie die Option non_interactive

auf t verwenden rue wenn Ihre Anwendung nicht interaktiv ist und bevorzugt Authentifizierungsfehler vs Paßwortabfrage

nicht interaktive Anwendungen sollte es auf true auf bevorzugen ein Passwort Fehler/etc Auth Methoden vs für Passwort fragen

+1

können Sie zum Punkt Dokumente dafür? Ich sehe nichts in der Rdoc in Bezug auf eine "Passphrase" -Option – ptierno

+3

Ein Code ist die beste Dokumentation: https://github.com/net-ssh/net-ssh/blob/bfcc0fdbacd2f049b718bb8f204d07fb85520c43/lib/net/ssh.rb#L162 –

+1

thx, und ich würde den 'net-sftp'-Autoren empfehlen, auf die net-ssh-docs zu verweisen. http://www.rubydoc.info/gems/net-sftp/2.0.5/Net/SFTP Dieses Dokument macht das nicht offensichtlich. – ptierno

Verwandte Themen