Jak bezpiecznie przesyłać pliki za pomocą SFTP

Jak bezpiecznie przesyłać pliki za pomocą SFTP

Wstęp

Przesyłanie plików między komputerami może być ból. FTP jest nieco niezręczne i stare, a korzystanie z usług online nie jest bezpośrednie i jest mniej niż idealne do obsługi wrażliwych plików. Git działa dobrze dla kodu i tekstu, ale nie jest najlepszy dla plików binarnych i wymaga skonfigurowania repozytorium. Więc jakie jest dobre rozwiązanie do wysyłania plików bezpośrednio między komputerami? Sftp.

SFTP to bezpieczny protokół transferu plików, który wykorzystuje SSH do wysyłania plików między komputerami. Jest szyfrowany i bezpośredni. Umożliwia użycie istniejącej usługi do wysyłania plików, zmniejszając w ten sposób powierzchnię ataku, i eliminuje potrzebę polegania na potencjalnie wrażliwych hasłach do przelewów plików.

Zanim przejdziesz dalej, musisz skonfigurować klucze SSH dla maszyn, z którymi chcesz pracować. Jeśli nie wiesz, jak, sprawdź nasz przewodnik po konfigurowaniu uwierzytelnienia opartego na kluczu SSH.

Sprawa przeciwko FTP

FTP jest do bani. Nie ma sposobu, aby to było wokół. FTP jest podatne na wiele wyczynów bezpieczeństwa i nadal jest ulubionym celem dla potencjalnych atakujących. Opiera się również na uwierzytelnianiu hasła, co czyni jeszcze w innym możliwym sposobie, w jaki atakujący może zniszczyć Twój system.

To, co sprawia, że ​​wszystko jest szczególnie złe, to fakt, że celem FTPS jest przesyłanie plików. Oznacza to, że mechanizmy są już na miejscu dla atakującego, aby przesłać i wykonać złośliwy kod na komputerze.

Jeśli to możliwe, unikaj FTP.

Złączony

Składnia SFTP jest bardzo podobna do SSH. Łączenie z serwerem nie różni się niewiele za pomocą SFTP niż z SSH.

$ sftp nazwa uż[email protected]

Które ustanowi połączenie i upuści do zmodyfikowanej powłoki SFTP.

Może być konieczne użycie innego portu dla SSH/SFTP. W takim przypadku określ za pomocą -P flaga.

$ sftp -p 35000 nazwa uż[email protected]

Wysyłanie plików

Z powłoki SFTP możesz użyć wbudowanych poleceń SFTP do wysyłania i odbierania plików. Polecenia dla dowolnego kierunku są podobne do CP składnia. Aby wysłać plik, użyj umieścić Komenda.

umieścić weźmie lokalny plik i umieści go w bieżącym katalogu roboczym zdalnego urządzenia.

SFTP> Umieść plik lokalny

Lokalny plik zostanie przeniesiony do twojego obecnego katalogu. Foldery są podobne. Tak jak CP, możesz użyć -R flaga do skopiowania katalogu i jego treści.

sftp> Put -r LocalDir

Odbieranie plików

Wyciąganie plików działa prawie tak samo z Dostawać Komenda. W takim przypadku nie zależy to od aktualnego katalogu. Możesz określić ścieżkę pliku do kopii i lokalizację, do której chcesz ją skopiować.

sftp> zdobądź plik

To po prostu dostanie plik i umieści go w bieżącym katalogu.

sftp> zdobądź remotefile/ścieżka/do/localfile

Powyższe otrzyma ten sam zdalny plik i umieści go w określonym katalogu lokalnym.

Możesz także użyć -R flaga z Dostawać Aby skopiować cały katalog.

sftp> get -r/ścieżka/do/zdalne ścieżka/do/localdir

Jeśli istnieje potrzeba zachowania dokładnych uprawnień katalogu, dodaj -P flaga.

sftp> get -pr/ścieżka/do/zdalne ścieżka/do/localdir

Zamykanie myśli

Po raz kolejny pojawia się prostota wiersza poleceń. Okej, więc możesz oczywiście użyć FTP z wiersza poleceń, ale większość ludzi polega na niepotrzebnie nieporęcznych aplikacjach GUI. Nawet wciąż SFTP zapewnia prosty, czysty i bezpieczny sposób przesyłania plików. Jako bonus zmniejsza liczbę potrzebnych usług, pozwala złączyć jeszcze jeden port i zmniejsza ogólną powierzchnię ataku serwerów. To wygląda na wygraną, jeśli kiedykolwiek była.

Powiązane samouczki Linux:

  • Jak skonfigurować serwer FTP/SFTP i klient na Almalinux
  • Skonfiguruj serwer FTP w systemie Linux
  • Lista klientów FTP i instalacja na Ubuntu 22.04 Linux…
  • Jak połączyć się z serwerem FTP za pomocą Pythona
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Lista klientów FTP i instalacja na Ubuntu 20.04 Linux…
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Jak skonfigurować serwer SFTP na Ubuntu 22.04 JAMMY Jellyfish…
  • Mastering Bash Script Loops
  • Samouczek git dla początkujących