Antworten:
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.
Wenn Sie in der Lage sind, sollten Sie eine schlüsselbasierte Authentifizierung einrichten.
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 sich wahrscheinlich mit der Automatisierung befassen .
Wie bereits erwähnt, sollte ein Befehlszeilenpasswort der letzte Ausweg sein.
Wenn jedoch nichts anderes möglich ist; man kann ssh pass anstreben
sshpass -p <password> sftp user@host
brew search sshpass
- "Wir werden sshpass nicht hinzufügen, weil es für unerfahrene SSH-Benutzer zu einfach ist, die Sicherheit von SSH zu ruinieren."
Verwenden Sie einfach Perl, Ruby oder Python, um das zu skripten, was Sie versuchen. Im Falle von Ruby ist es nur (aus den net-sftp API-Dokumenten entnommen):
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 finden Sie unter http://net-ssh.rubyforge.org/sftp/v2/api/index.html
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 , in der alles erklärt wird, was Sie darüber wissen möchten, sowie einige nützliche Zusatztools wie Schlüsselbund.
Für Suchende, denen es egal ist, dass das Kennwort im Befehlszeilenbefehl angezeigt wird:
sftp userid:password@remoteHost
So fügen Sie das Kennwort in den sftp
Befehl connect ein.
UPDATE: dies stellte sich als falsch heraus ... siehe Kommentare
Ich vermute, dass es so viele Antworten gibt wie FTP-Clients. Ein SFTP-Server sollte erst dann Authentifizierungsinformationen akzeptieren, wenn die Verschlüsselung eingerichtet ist, damit Benutzer und Kennwort geschützt sind.
Ich glaube, dass der FileZilla- Client die Befehlszeilenübergabe des Benutzers und des Kennworts ermöglicht. Siehe die Dokumentation hier . Angesichts des guten Rufs des FileZilla-Projekts würde ich erwarten, dass es sicher funktioniert.