Jak skonfigurować serwer SFTP w Ubuntu

Jak skonfigurować serwer SFTP w Ubuntu

SFTP to akronim „Secure File Transfer Protocol”, który służy do przesyłania plików z jednego miejsca do drugiego za pomocą Internetu i działa podobnie do FTP (protokół tekstu pliku), ale różnica w obu z nich jest to, że SFTP zapewnia również, że SFTP zapewnia również prywatność pliku za pomocą usługi SSH, która zabezpiecza dane pliku poprzez szyfrowanie go, więc nikt nie może uzyskać dostępu do danych.

Chociaż ma tę zaletę, że szyfruje dane i bardziej bezpieczniej przenosi je do lokalizacji docelowej, ma również wadę; Po dotarciu do lokalizacji docelowej każdy użytkownik może do niego uzyskać dostęp. Aby uczynić go bezpieczniejszym, powinniśmy ograniczyć pozostałych użytkowników, aby uzyskać do niego dostęp, poza dozwolonymi użytkownikami.

W tym artykule omówimy, jak zainstalować SFTP w Ubuntu, jeśli nie jest jeszcze zainstalowany, i jak go skonfigurować za pomocą prostych poleceń Ubuntu.

Jak zainstalować serwer SFTP w Ubuntu

SFTP serwer jest zwykle instalowany w Ubuntu domyślnie, ale jeśli nie jest jeszcze zainstalowany, można zainstalować SSH za pomocą prostych poleceń Ubuntu. Ponieważ SFTP używa serwera SSH, więc aby sprawdzić, czy serwer SFTP jest już zainstalowany, czy nie, uruchomimy poniższe polecenie:

$ sudo Systemctl Status SSH

Wyjście jest pokazywane, SSH nie jest zainstalowany w naszym Ubuntu, aby je zainstalować, uruchom następujące polecenie Ubuntu:

$ sudo apt instal ssh -y

Po jego zainstalowaniu włączymy go za pomocą polecenia SystemCTL:

$ sudo systemctl włącz SSH

Teraz ponownie, używając polecenia SystemCtl, uruchom go:

$ sudo systemctl start ssh

Aby zweryfikować instalację SSH, sprawdza swój status za pomocą polecenia SystemCtl:

$ sudo Systemctl Status SSH

Status działający SSH pokazuje, że został pomyślnie zainstalowany.

Jak utworzyć konto użytkownika SFTP

Możemy albo tworzyć użytkowników bezpośrednio lub tworząc grupę SFTP, a następnie utworzyć użytkowników, aby zapewnić im dostęp do SFTP. Aby utworzyć grupę, na przykład nazywamy ją „SFTP”, możesz ją nazwać zgodnie z wyborem, wykonać następujące w terminalu:

$ sudo addgroup sftp

Aby utworzyć użytkownika „John”, możesz zmienić nazwę „John” własną nazwą użytkownika, uruchom następujące polecenie:

$ sudo useradd John

W celu weryfikacji nowo utworzonych użytkowników wykonaj:

$ mniej /etc /passwd | Grep John

Aby dodać hasło dla tego nowego użytkownika, uruchom:

$ sudo passwd John

Aby przenieść użytkownika, „John” do grupy „SFTP”, uruchom polecenie:

$ sudo usermod -a -g sftp John

Aby sprawdzić, czy użytkownik, John, został dodany do grupy, SFTP, uruchom instrukcję:

$ grep sftp /etc /grupa

Jak utworzyć katalog dla transferów plików

Aby zrozumieć, jak ograniczyć dostęp do katalogu dla innych użytkowników, utworzymy katalog „Dokument” w PATH /VAR /SFTP, który będzie własnością Root. Wtedy tylko użytkownik „John”, który utworzyliśmy, może uzyskać dostęp do tego katalogu i przesyłać w nim pliki.

Aby to zrobić, najpierw utworzymy katalog „Dokumentu” za pomocą polecenia MKDIR:

$ sudo mkdir -p/var/sftp/dokument

Pozwól rootowi, rozpoznać właściciela /var /sftp:

$ sudo chown root: root /var /sftp

Udzielenie uprawnień do tego katalogu do tego samego katalogu i pozwól innym użytkownikom na odczyt:

$ sudo chmod 755 /var /sftp

Teraz udzielaj uprawnień dokumentu użytkownikowi John:

$ sudo chown John: John/var/sftp/dokument

Jak skonfigurować demon ssh

Po zakończeniu instalacji otworzymy plik konfiguracyjny serwera SSH z dowolnym edytorem i skonfigurujemy go. W tej konfiguracji ograniczamy użytkownika, Johna, do katalogu /var /sftp, a także żaden z pozostałych użytkowników nie może uzyskać dostępu do tego katalogu. Używamy nano edytora tekstu do jego skonfigurowania, aby uruchomić następujące polecenie:

$ sudo nano/etc/ssh/sshd_config

Po otwarciu pliku wpisz w nim następujący tekst:

Dopasuj użytkownika John
Chrootdirectory /var /sFTP
X11 wściekłość nr
Zezwolenie dla nr
ForceCommand Internal-SFTP

Po otwarciu pliku na dole zobaczysz tekst „Podsystem sftp/usr/lib/openssh/sftp-server”, napisz te wiersze po tym wierszu. Wyjaśnienie tych pięciu linii to:

  • Dopasuj użytkownika mówi SSH, aby wdrożyli te zmiany wspomnianego użytkownika, w naszym przypadku jest to „John”
  • Chrootdirectory Zapewnia, że ​​użytkownik nie będzie miał dostępu do żadnego innego katalogu, z wyjątkiem tego, którego część jest dostarczana, w naszym przypadku jest to „/var/sFTP”
  • Zezwolenie na wadze a x11fording umożliwi lub wyłączy tunelowanie portów, a w naszym przypadku x11 w naszym przypadku oba są wyłączone poprzez wpisanie „nie”
  • ForceCommand Upewnij się, że SSH uruchamia serwer SFTP dopiero po zalogowaniu

Po wprowadzeniu zmian zapisz zmiany, naciskając Ctrl+S, a następnie zakończyć edytor, naciskając Ctrl+x.

Aby zastosować te nowe zmiany, uruchom ponownie serwer SSH za pomocą:

$ sudo systemctl restart ssh

Jak zweryfikować konfiguracje ograniczeń

Aby zweryfikować konfiguracje ograniczeń, spróbujemy uzyskać dostęp do plików za pomocą normalnego polecenia SSH:

$ ssh John@localhost

Wyjście pokazuje, że John nie może uzyskać żadnego innego SSH.

Jak zalogować się SFTP Server za pomocą wiersza poleceń

Możemy zalogować się do użytkownika chronionego przez serwer SFTP w wierszu poleceń za pomocą adresu pętli, który jest domyślnie 127.0.0.1, po wykonaniu polecenia poprosi o ustawienie hasła dla użytkownika:

$ sftp [email protected]

Został podłączony do serwera SFTP. Wymień katalogi tego użytkownika za pomocą polecenia LS:

$ ls

Wyjście pokazujące katalog, dokument, który był ograniczony dla tego użytkownika. Teraz ten użytkownik nie może uzyskać dostępu do żadnego innego katalogu innego niż ten.

Jak zalogować się SFTP Server za pomocą GUI

Możemy również uzyskać dostęp do SFTP za pomocą trybu GUI, po prostu przejdź do folderu domowego, wybierz inne lokalizacje, typ sftp: // [email protected] i kliknij połączenie.

Zapyta hasło użytkownika, wpisz hasło i kliknie odblokowanie:

Wreszcie otworzy katalog:

Jak usunąć serwer SFTP

Aby usunąć lub odinstalować serwer SFTP, po prostu usuń SSH za pomocą polecenia:

$ sudo apt purge ssh -y

Wniosek

SFTP Server szyfruje plik i przenosi go do miejsc docelowych i dekoduje tam plik, aby bezpiecznie przekazywać dane. Bezpieczeństwo jest niezbędne do przesyłania plików, ponieważ czasami pliki zawierają poufne informacje, które należy dostarczyć tylko do upoważnionej osoby, można to zrobić za pomocą SFTP. W tym artykule nauczyliśmy się instalować SFTP, jeśli nie jest on domyślnie zainstalowany w Ubuntu, wówczas nauczyliśmy się tworzyć użytkownika SFTP bezpośrednio lub za pomocą grupy. Nauczyliśmy się również funkcji ograniczania plików do wybranych użytkowników, a także ograniczenia użytkownika do tego konkretnego pliku, aby użytkownik nie mógł przejść do żadnego innego katalogu. Na koniec nauczyliśmy się usunąć serwer SSH z Ubuntu 20.04.