Wyszukiwanie w witrynie

Jak zamontować zdalny system plików lub katalog systemu Linux przy użyciu SSHFS przez SSH


Głównym celem napisania tego artykułu jest przedstawienie przewodnika krok po kroku dotyczącego montowania zdalnego systemu plików Linux przy użyciu klienta SSHFS przez SSH.

Ten artykuł jest przydatny dla użytkowników i administratorów systemów, którzy chcą zamontować zdalny system plików w swoich systemach lokalnych w dowolnym celu. Przeprowadziliśmy praktyczne testy, instalując klienta SSHFS na jednym z naszych systemów Linux i pomyślnie zamontowaliśmy zdalne systemy plików.

Zanim przejdziemy do dalszej instalacji, przyjrzyjmy się SSHFS i jego działaniu.

Co to jest SSHFS?

SSHFS oznacza klienta (Secure SHell FileSystem), który umożliwia nam montowanie zdalnego systemu plików i interakcję ze zdalnymi katalogami i plikami na komputerze lokalnym za pomocą SSH Protokół przesyłania plików (SFTP).

Sugerowana lektura: 10 przykładów poleceń sFTP do przesyłania plików na zdalne serwery w systemie Linux

SFTP to bezpieczny protokół przesyłania plików, który zapewnia dostęp do plików, przesyłanie plików i funkcje zarządzania plikami za pośrednictwem protokołu Secure Shell. Ponieważ SSH używa szyfrowania podczas przesyłania plików przez sieć z jednego komputera na drugi, a SSHFS ma wbudowany FUSE (System plików w przestrzeni użytkownika) moduł jądra, który umożliwia nieuprzywilejowanym użytkownikom tworzenie systemu plików bez modyfikowania kodu jądra.

W tym artykule pokażemy, jak zainstalować i używać klienta SSHFS w dowolnej dystrybucji Linuksa, aby zamontować zdalny system plików lub katalog Linuksa na lokalnym komputerze z Linuksem.

Krok 1: Zainstaluj klienta SSHFS w systemach Linux

Domyślnie pakiety sshfs nie istnieją we wszystkich głównych dystrybucjach Linuksa. Musisz włączyć repozytorium epel w swoich systemach Linux, aby zainstalować sshfs za pomocą polecenia Yum z ich zależnościami.

yum install sshfs
dnf install sshfs              [On Fedora 22+ releases]
sudo apt-get install sshfs     [On Debian/Ubuntu based systems]

Krok 2: Tworzenie katalogu montowania SSHFS

Po zainstalowaniu pakietu sshfs musisz utworzyć katalog punktu montowania, w którym będziesz montował zdalny system plików. Na przykład utworzyliśmy katalog montowania pod /mnt/tecmint.

mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint     [On Debian/Ubuntu based systems]

Krok 3: Montowanie zdalnego systemu plików za pomocą SSHFS

Po utworzeniu katalogu punktu podłączenia uruchom teraz następującą komendę jako użytkownik root, aby zamontować zdalny system plików w /mnt/tecmint . W twoim przypadku katalog montowania byłby czymkolwiek.

Poniższe polecenie zamontuje zdalny katalog o nazwie /home/tecmint w /mnt/tecmint w systemie lokalnym. (Nie zapomnij zastąpić x.x.x.x swoim adresem IP i punktem podłączenia).


sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Jeśli Twój serwer Linux jest skonfigurowany z autoryzacją opartą na kluczu SSH, musisz określić ścieżkę do kluczy publicznych, jak pokazano w poniższym poleceniu.


sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Krok 4: Sprawdzanie, czy zdalny system plików jest zamontowany

Jeśli wykonałeś powyższe polecenie pomyślnie i bez żadnych błędów, zobaczysz listę zdalnych plików i katalogów zamontowanych w /mnt/tecmint.

cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpg
cmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallow
epel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sql
ffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2

Krok 5: Sprawdzanie punktu montowania za pomocą polecenia df -hT

Jeśli uruchomisz polecenie df -hT, zobaczysz punkt podłączenia zdalnego systemu plików.

df -hT
Przykładowe wyjście
Filesystem                          Type        Size  Used Avail Use% Mounted on
udev                                devtmpfs    730M     0  730M   0% /dev
tmpfs                               tmpfs       150M  4.9M  145M   4% /run
/dev/sda1                           ext4         31G  5.5G   24G  19% /
tmpfs                               tmpfs       749M  216K  748M   1% /dev/shm
tmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgroup
tmpfs                               tmpfs       150M   44K  150M   1% /run/user/1000
[email :/home/tecmint fuse.sshfs  324G   55G  253G  18% /mnt/tecmint

Sugerowana lektura: 12 przydatnych poleceń „df” do sprawdzania miejsca na dysku w systemie Linux

Krok 6: Montowanie zdalnego systemu plików na stałe

Aby na stałe zamontować zdalny system plików, musisz edytować plik o nazwie /etc/fstab. Aby to zrobić, otwórz plik w swoim ulubionym edytorze.

vi /etc/fstab
sudo vi /etc/fstab     [On Debian/Ubuntu based systems]         

Przejdź na dół pliku, dodaj do niego następujący wiersz, zapisz plik i wyjdź. Poniższy wpis montuje system plików zdalnego serwera z ustawieniami domyślnymi.


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0

Upewnij się, że masz możliwość logowania bez hasła SSH pomiędzy serwerami, aby automatycznie montować system plików podczas ponownego uruchamiania systemu.

Jeśli Twój serwer jest skonfigurowany z autoryzacją opartą na kluczu SSH, dodaj tę linię:


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

Następnie musisz zaktualizować plik fstab, aby odzwierciedlić zmiany.

mount -a
sudo mount -a   [On Debian/Ubuntu based systems]

Krok 7: Odmontowanie zdalnego systemu plików

Aby odmontować zdalny system plików, jun wydaj następującą komendę, która odmontuje zdalny system plików.

umount /mnt/tecmint

To wszystko na razie. Jeśli napotkasz jakiekolwiek trudności lub potrzebujesz pomocy w zamontowaniu zdalnego systemu plików, skontaktuj się z nami poprzez komentarze, a jeśli uważasz, że ten artykuł jest bardzo przydatny, udostępnij go swoim znajomym.