Frage Was ist der Unterschied zwischen SCP und SFTP?


Normalerweise benutze ich die scp Befehl zum Übertragen von Dateien auf * nixes.

Was ist der Unterschied zwischen SFTP und SCP? Arbeiten beide nicht an SSH?


143
2018-04-26 17:36


Ursprung




Antworten:


Kurz gesagt, SCP kann nur zum Übertragen von Dateien verwendet werden, und es ist nicht interaktiv (d. H. Alles muss in der Befehlszeile angegeben werden). SFTP ist ausgefeilter und ermöglicht interaktive Befehle zum Erstellen von Verzeichnissen, zum Löschen von Verzeichnissen und Dateien (natürlich abhängig von Systemberechtigungen) usw.


89
2018-04-26 18:10



Interaktivität: Der Unterschied, den Sie beschreiben, betrifft spezifische SFTP / SCP-Clients, wie sie in OpenSSH implementiert sind. Es ist nichts über die Protokolle selbst. Es ist durchaus möglich, einen interaktiven SCP-Client oder einen nicht-interaktiven SFTP-Client zu implementieren. - Martin Prikryl
Eine weitere Sache: scp funktioniert nicht, wenn der Server nur SFTP-Zugriff über die Leitung erlaubt ForceCommand internal-sftp. Ich denke PermitTTY no verhindert auch den scp-zugriff, erlaubt aber den sftp-zugriff, obwohl ich mein passwort einfach jedes mal vertippen konnte, wenn ich es versuchte. Aber diese zwei Dinge sollten sftp nicht verhindern. Quelle: persönliche Erfahrung. - ecube
Kann ich davon ausgehen, dass jeder SFTP-Server auch SCP-Übertragungen annehmen kann? - gus
@gus nein, siehe ecubes Kommentar - Pere


Von Wikipedia:

Verglichen mit dem früheren SCP-Protokoll,   das erlaubt nur Dateiübertragungen, die   SFTP-Protokoll ermöglicht eine Reihe von   Operationen auf Remote-Dateien - es ist   eher wie ein Remote-Dateisystem   Protokoll. Ein SFTP-Client extra   Funktionen im Vergleich zu einem SCP-Client   include Fortsetzen unterbrochen   Übertragungen, Verzeichnislisten und   Entfernung entfernter Dateien [1] Für diese   Gründe dafür ist es relativ einfach   Implementieren eines GUI SFTP-Clients verglichen   mit einem GUI SCP-Client.

und

Obwohl sowohl SCP als auch SFTP die   gleiche SSH-Verschlüsselung während der Datei   Transfer mit der gleichen allgemeinen Ebene   Overhead, SCP ist in der Regel viel   schneller als SFTP bei der Übertragung   Dateien, besonders bei hoher Latenz   Netzwerke. Dies geschieht, weil SCP   implementiert eine effizientere Übertragung   Algorithmus, der nicht benötigt wird   Warten auf Paketbestätigungen. Dies   führt zu schneller Geschwindigkeit, kommt aber bei der   Aufwand nicht unterbrechen zu können   eine Übertragung, im Gegensatz zu SFTP, SCP   Übertragung kann nicht ohne abgebrochen werden   Beenden der Sitzung


97
2018-04-26 19:36



"SCP ist normalerweise viel schneller als SFTP beim Übertragen von Dateien." - Micah Bolen
"Aber kommt auf Kosten von nicht in der Lage, eine Übertragung zu unterbrechen". Das ist ein ziemlich wichtiger Kompromiss. - aaaaaa


Aus einer reinen Befehlszeilenperspektive:

  • scp hat weder einen interaktiven Modus noch kann er Befehlsskripte lesen, dh alles muss in der Befehlszeile geschrieben werden.
  • sftp hat einen interaktiven Modus und kann Befehle aus einer Datei lesen.

Ein anderer wichtiger Unterschied zwischen den 2 Befehlen ist der sftp Eine lokale Datei kann nicht über eine einzige Befehlszeile an einen Remote-Standort gesendet werden


6
2018-01-20 11:04





SSH (Ssicher sein Schell) ist ein kryptografisches Netzwerkprotokoll, das Remote-Login und anderen Netzwerkdiensten einen sicheren Betrieb über ein ungesichertes Netzwerk ermöglicht.

Unterschiede: SFTP arbeitet im interaktiven Modus (Sitzung) und SCP arbeitet nicht interaktiv. Mit SFTP können wir auf entfernte Dateisysteme zugreifen, d. H. Dateien erstellen, löschen und auflisten.

Ähnlichkeiten: Beide SCP (Ssicher sein Cop PRotocol) und SFTP (SSch FIle TÜbertragung PRotocol) sind Netzwerkprotokolle, die die Dateiverwaltung zwischen Hosts in einem Netzwerk unterstützen. Beide verwenden SSH.

Mehr


1
2018-05-25 03:52





Die meisten Unterschiede der beiden Protokolle wurden bereits in anderen Antworten und ausführlicher in https://unix.stackexchange.com/q/8707/19088

Ein weiterer Unterschied, nach dem Dokumentation der Locke, ist, dass das SCP-Protokoll nicht sehr portabel ist und normalerweise nur zwischen Unix-Systemen funktioniert.

Apropos, locken implementiert beide Protokolle und ist im Gegensatz zur standardmäßigen OpenSSH SFTP-Client-Implementierung nicht interaktiv für SFTP und SCP.

Und beachten Sie, dass es auch die FISCH Protokoll, mit dem Sie Dateien über SSH ohne die Notwendigkeit von SCP oder SFTP übertragen können. Soweit ich weiß, ist FISH nicht sehr beliebt, derzeit in nur wenigen Dateimanagern implementiert (Mitternachtskommandant und einige, die auf KDE basieren) und Lftp.


0
2017-08-13 19:46



"Ein weiterer Unterschied, laut der Dokumentation von curl, ist, dass das SCP-Protokoll nicht sehr portabel ist und normalerweise nur zwischen Unix-Systemen funktioniert." Die Ironie dieses Teils Ihrer Antwort ist, dass die populärste SCP-GUI WinSCP heißt und - Sie haben es erraten - es ist ein Windows-Programm. - brett
@ Brett der beliebteste Client ist wahrscheinlich OpenSSH scp, ich würde sagen, es ist hoch im Einsatz. WinSCP ist ein SCP / SFTP / etc-Client, wird aber heutzutage hauptsächlich als (S) FTP-Client verwendet: "Im Juni 2003 wurde die Version 3.0 veröffentlicht, die Unterstützung für die Alternative zu SCP, das SFTP-Protokoll, einführte zum primären Protokoll, trotzdem wurde der bekannte Name "WinSCP" beibehalten. " (aus der Geschichte von WinSCP: winscp.net/eng/docs/project_history) - Pere