Jaka jest różnica pomiędzy SCP a SFTP?
Zazwyczaj używam komendy scp
do przesyłania plików na systemach \nix.
Jaka jest różnica między SFTP a SCP? Czy oba nie działają na SSH?
Zazwyczaj używam komendy scp
do przesyłania plików na systemach \nix.
Jaka jest różnica między SFTP a SCP? Czy oba nie działają na SSH?
Z Wikipedii :
W porównaniu z wcześniejszym protokołem SCP, który pozwala tylko na transfer plików, protokół SFTP pozwala na szereg operacji na zdalnych plikach - jest bardziej zbliżony do protokołu zdalnego systemu plików. Dodatkowe możliwości klienta SFTP w porównaniu do klienta SCP obejmują wznawianie przerwanych transferów, tworzenie list katalogów i zdalne usuwanie plików. 1] Z tych powodów implementacja klienta GUI SFTP jest stosunkowo prosta w porównaniu z klientem GUI SCP.
i
Chociaż zarówno SCP jak i SFTP wykorzystują to samo szyfrowanie SSH podczas transferu plików z tym samym ogólnym poziomem narzutu, SCP jest zazwyczaj znacznie szybszy niż SFTP w transferze plików, szczególnie w sieciach o dużych opóźnieniach. Dzieje się tak, ponieważ SCP implementuje bardziej wydajny algorytm transferu, który nie wymaga oczekiwania na potwierdzenie pakietów. Prowadzi to do większej szybkości, ale odbywa się kosztem braku możliwości przerwania transferu, więc w przeciwieństwie do SFTP, transfer SCP nie może być przerwany bez zakończenia sesji.
W skrócie, SCP może być używany tylko do przesyłania plików i jest nieinteraktywny (tzn. wszystko musi być określone w wierszu poleceń). SFTP jest bardziej rozbudowany i pozwala na interaktywne komendy do robienia takich rzeczy jak tworzenie katalogów, usuwanie katalogów i plików (wszystko oczywiście z uwzględnieniem uprawnień systemowych), itp.
Z perspektywy linii poleceń:
Inną ważną różnicą pomiędzy tymi dwoma komendami jest to, że sftp nie może umieścić lokalnego pliku w zdalnej lokalizacji za pomocą jednej linii poleceń, chociaż może uzyskać zdalny plik, podczas gdy scp może zrobić obie te rzeczy.
sftp user@host:/path/to/remote.file [/path/to/local.file]
scp user@host:/path/to/remote.file [/path/to/local.file]
scp /path/to/local.file user@host:[/path/to/remote.file]
```.
SSH (S ecure SH ell) jest kryptograficznym protokołem sieciowym umożliwiającym zdalne logowanie i inne usługi sieciowe, które mogą bezpiecznie działać w niezabezpieczonej sieci.
Różnice: SFTP działa w trybie interaktywnym (sesyjnym), a SCP w nieinteraktywnym. Używając SFTP mamy dostęp do zdalnego systemu plików tj. tworzenie, usuwanie i listowanie plików.
Podobieństwa: Zarówno SCP (S ecure C opy P rotocol) jak i SFTP (S SH F ile T ransfer P rotocol) są protokołami sieciowymi, które wspierają zarządzanie plikami pomiędzy hostami w sieci. Oba używają SSH. więcej
Większość różnic między tymi dwoma protokołami została już opisana w innych odpowiedziach, a bardziej dosadnie w https://unix.stackexchange.com/q/8707/19088
Inną różnicą, zgodnie z dokumentacją curl , jest to, że protokół SCP nie jest zbyt przenośny i zwykle działa tylko między systemami uniksowymi.
Przy okazji, curl implementuje oba protokoły i w przeciwieństwie do domyślnej implementacji klienta OpenSSH SFTP, jest nieinteraktywny zarówno dla SFTP jak i SCP.
I zauważ, że istnieje również protokół FISH , który pozwala na transfer plików przez SSH bez potrzeby korzystania z SCP lub SFTP. Z tego co wiem FISH nie jest zbyt popularny, obecnie zaimplementowany jest tylko w kilku menedżerach plików Midnight Commander i kilku opartych na KDE) oraz Lftp .