it-swarm.com.de

Wie kann man einen One Liner mit SFTP machen, um sich mit dem Passwort in derselben Zeile anzumelden?

Gibt es eine Option, um das Passwort auch mit sftp in die Leitung zu setzen?

linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ 

So was

linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD? 
20
Daniel

Im Allgemeinen wird das Einfügen eines Kennworts in eine Befehlszeile als Sicherheitsrisiko angesehen, da es allen anderen Benutzern angezeigt wird, die ps/top ausführen können, und möglicherweise im Verlauf Ihrer Shell gespeichert wird.

Es ist viel besser, die schlüsselbasierte Authentifizierung einzurichten, wenn Sie dazu in der Lage sind.

Ich glaube auch nicht, dass es mit sftp möglich sein wird. Es soll für sichere Überweisungen verwendet werden. Wenn Sie wirklich so etwas tun mussten und keine andere Wahl haben, müssen Sie wahrscheinlich die Automatisierung mit erwarten in Betracht ziehen.

14
Zoredache

Wie andere bereits erwähnt haben, sollte ein Befehlszeilenkennwort der letzte Ausweg sein.

Wenn jedoch nichts anderes möglich ist; man kann für ssh pass gehen

sshpass -p <password> sftp [email protected]
36
Yogesh Nachnani

Tun Sie das nicht - richten Sie die SSH-Authentifizierung mit öffentlichem Schlüssel für die automatische Anmeldung ein.

6
MikeyB

Verwenden Sie einfach Perl, Ruby oder python, um zu skripten, was Sie versuchen zu tun. Im Fall von Ruby ist es nur () entnommen aus den net-sftp API-Dokumenten):

require 'net/sftp'

Net::SFTP.start('Host', 'username', :password => 'password') do |sftp|

  # upload a file or directory to the remote Host

  sftp.upload!("/path/to/local", "/path/to/remote")

end

Weitere Informationen http://net-ssh.rubyforge.org/sftp/v2/api/index.html

5
monomyth

Verwenden Sie, wie in den anderen Antworten angegeben, die Authentifizierung mit öffentlichem Schlüssel. Es gibt eine großartige, wenn auch etwas veraltete, IBM developerWorks-Reihe , die alles erklären sollte, was Sie darüber wissen möchten, sowie einige nützliche ergänzende Tools wie den Schlüsselbund.

3
rvf

Ich vermute, dass es so viele Antworten gibt wie FTP-Clients. Ein SFTP-Server sollte keine Authentifizierungsinformationen akzeptieren, bis die Verschlüsselung hergestellt ist, damit der Benutzer und das Kennwort geschützt sind.

Ich glaube, der FileZilla Client ermöglicht die Befehlszeilenübergabe des Benutzers und des Passworts. Siehe die Dokumentation hier . Angesichts des guten Rufs des FileZilla-Projekts würde ich erwarten, dass es sicher funktioniert.

1
tomjedrz

Für Suchende, denen es egal ist, dass das Kennwort im Befehlszeilenbefehl angezeigt wird:

sftp userid:[email protected] beschreibt das Kennwort in den Befehl sftp connect.

UPDATE: Dies stellte sich als falsch heraus ... siehe Kommentare

1
ashnazg