Linux Server Deployment & SSH Mastery · Lekcja

Bezpieczny transfer plików z SCP, SFTP i rsync

Przeniosą Państwo pliki między komputerami przez szyfrowany kanał SSH. Porównają scp, sftp i rsync, poznają ich najważniejsze opcje oraz wybiorą właściwe narzędzie do jednorazowego kopiowania, transferów interaktywnych i wydajnej synchronizacji.

Lekcja 4 z 413 kroki

Bezpieczny transfer plików z SCP, SFTP i rsync to bezpłatna lekcja Linux Server Deployment & SSH Mastery na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Server Deployment & SSH Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Przesyłanie plików przez SSH

Ma już Pan/Pani opanowane tunele, agenty i połączenia wieloskokowe. Ta sama podstawa SSH umożliwia również bezpieczne przesyłanie plików — bez dodatkowej usługi i otwierania kolejnego portu.

SSH obsługuje trzy narzędzia: scp do szybkiego kopiowania, sftp do sesji interaktywnych oraz rsync do wydajnej synchronizacji.

scp: proste kopiowanie

scp działa podobnie jak cp, ale kopiuje pliki między maszynami. Po stronie zdalnej używa składni user@host:path.

To polecenie przesyła lokalny plik na serwer.

scp report.pdf deploy@server:/home/deploy/docs/

scp: pobieranie i katalogi

Aby pobrać plik, zamień kolejność argumentów. Dodaj -r, aby rekurencyjnie skopiować całe katalogi.

scp deploy@server:/var/log/app.log ./
scp -r deploy@server:/etc/myapp ./backup/

scp z niestandardowym portem i kluczami

Jeśli serwer używa niestandardowego portu, pamiętaj, że scp używa wielkiej litery -P (w przeciwieństwie do małej litery -p w ssh). Możesz też wskazać konkretny klucz za pomocą -i.

scp -P 2222 -i ~/.ssh/deploy_key file.txt deploy@server:/tmp/

sftp: transfery interaktywne

sftp otwiera interaktywną sesję przypominającą wiersz poleceń FTP, ale w pełni szyfrowaną. Plikami i katalogami można zarządzać oraz przesyłać je za pomocą znanych poleceń.

  • put file — przesyłanie
  • get file — pobieranie
  • ls, cd, pwd — nawigacja po stronie zdalnej
  • lcd, lls — nawigacja po stronie lokalnej
sftp deploy@server
sftp> cd /var/www
sftp> put index.html
sftp> get backup.tar.gz

Czym rsync się różni

rsync przesyła tylko te części plików, które uległy zmianie. Przy kolejnych uruchomieniach działa zdecydowanie szybciej niż scp, dlatego jest preferowanym narzędziem do kopii zapasowych i wdrożeń.

Domyślnie działa również przez SSH, zapewniając takie samo szyfrowanie.

Podstawowe użycie rsync

Typowy zestaw opcji to -avz:

  • -a — tryb archiwizacji (zachowuje uprawnienia, czasy i dowiązania symboliczne)
  • -v — szczegółowe komunikaty
  • -z — kompresowanie podczas przesyłania

To polecenie odtwarza lokalny katalog na serwerze.

rsync -avz ./site/ deploy@server:/var/www/site/

Końcowe ukośniki mają znaczenie

W rsync końcowy ukośnik w źródle zmienia rezultat:

  • src/ — kopiuje zawartość katalogu src do miejsca docelowego
  • src — kopiuje sam katalog src do miejsca docelowego

Pomyłka tworzy zagnieżdżone katalogi, dlatego należy świadomie wybierać właściwą formę.

rsync -avz src/  dest/   # contents of src into dest
rsync -avz src   dest/   # creates dest/src/

Tworzenie kopii lustrzanej i wykluczanie plików

--delete sprawia, że miejsce docelowe staje się dokładną kopią lustrzaną, usuwając pliki nieobecne w źródle. Opcji --exclude używa się do pomijania ścieżek.

Zawsze najpierw łącz te opcje z --dry-run.

rsync -avz --delete --exclude '.git' --dry-run ./ deploy@server:/var/www/

rsync z niestandardową konfiguracją SSH

Aby użyć niestandardowego portu lub klucza, przekaż jawnie polecenie ssh za pomocą -e. Działa to również z całą konfiguracją zdefiniowaną w ~/.ssh/config.

rsync -avz -e 'ssh -p 2222 -i ~/.ssh/deploy_key' ./ deploy@server:/var/www/

Dobre praktyki

Przesyłaj pliki bezpiecznie i wydajnie:

  • używaj scp do szybkiego, jednorazowego kopiowania
  • używaj sftp, gdy potrzebujesz interaktywnego przeglądania
  • używaj rsync do regularnej synchronizacji i kopii zapasowych
  • zawsze wykonuj --dry-run przed użyciem --delete

Szybki test

Sprawdź swoją wiedzę na temat bezpiecznego przesyłania plików.

Podsumowanie

Potrafi już Pan/Pani bezpiecznie przesyłać pliki przez SSH:

  • scp — proste kopiowanie (-r, -P, -i)
  • sftp — interaktywne sesje put/get
  • rsync — wydajna synchronizacja różnicowa z opcjami -avz, --delete, --exclude

Wszystkie trzy narzędzia ponownie wykorzystują istniejące klucze i konfigurację SSH, uzupełniając zaawansowany zestaw narzędzi SSH.

Bezpłatny start

Ucz się Linux Server Deployment & SSH Mastery dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
12
Lekcje
48

Często zadawane pytania

Czy lekcja „Bezpieczny transfer plików z SCP, SFTP i rsync” jest bezpłatna?

Tak — pełny tekst „Bezpieczny transfer plików z SCP, SFTP i rsync” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Server Deployment & SSH Mastery, przejdź na CoddyKit PRO. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Co nauczysz się w „Bezpieczny transfer plików z SCP, SFTP i rsync”?

Przeniosą Państwo pliki między komputerami przez szyfrowany kanał SSH. Porównają scp, sftp i rsync, poznają ich najważniejsze opcje oraz wybiorą właściwe narzędzie do jednorazowego kopiowania, transf… Ćwiczysz Linux Server Deployment & SSH Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Linux Server Deployment & SSH Mastery?

Nie wymagamy żadnego doświadczenia. Linux Server Deployment & SSH Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Bezpieczny transfer plików z SCP, SFTP i rsync”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Linux Server Deployment & SSH Mastery?

Tak. Każda lekcja Linux Server Deployment & SSH Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przekierowanie portów SSH (lokalne/zdalne)
  2. Tunele SSH i serwer proxy SOCKS
  3. Agent SSH i połączenia wieloskokowe
  4. Bezpieczny transfer plików z SCP, SFTP i rsync
← Powrót do Linux Server Deployment & SSH Mastery