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.