SSH വഴി SSHFS ഉപയോഗിച്ച് റിമോട്ട് ലിനക്സ് ഫയൽസിസ്റ്റം അല്ലെങ്കിൽ ഡയറക്ടറി എങ്ങനെ മൗണ്ട് ചെയ്യാം


ഈ ലേഖനം എഴുതുന്നതിന്റെ പ്രധാന ഉദ്ദേശം, SSH വഴി SSHFS ക്ലയന്റ് ഉപയോഗിച്ച് എങ്ങനെ റിമോട്ട് ലിനക്സ് ഫയൽ സിസ്റ്റം മൌണ്ട് ചെയ്യാം എന്നതിനെക്കുറിച്ചുള്ള ഒരു ഘട്ടം ഘട്ടമായുള്ള ഗൈഡ് നൽകുക എന്നതാണ്.

ഏത് ആവശ്യങ്ങൾക്കും അവരുടെ പ്രാദേശിക സിസ്റ്റങ്ങളിൽ റിമോട്ട് ഫയൽ സിസ്റ്റം മൌണ്ട് ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ഉപയോക്താക്കൾക്കും സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർക്കും ഈ ലേഖനം ഉപയോഗപ്രദമാണ്. ഞങ്ങളുടെ Linux സിസ്റ്റങ്ങളിലൊന്നിൽ SSHFS ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്തും റിമോട്ട് ഫയൽ സിസ്റ്റത്തിൽ വിജയകരമായി മൌണ്ട് ചെയ്തും ഞങ്ങൾ പ്രായോഗികമായി പരീക്ഷിച്ചു.

കൂടുതൽ ഇൻസ്റ്റാളേഷനിലേക്ക് പോകുന്നതിന് മുമ്പ് നമുക്ക് SSHFS-നെക്കുറിച്ചും അത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്നും മനസ്സിലാക്കാം.

എന്താണ് SSHFS?

SSH ഫയൽ ട്രാൻസ്ഫർ പ്രോട്ടോക്കോൾ (SFTP) ഉപയോഗിച്ച് ഒരു ലോക്കൽ മെഷീനിൽ റിമോട്ട് ഫയൽസിസ്റ്റം മൌണ്ട് ചെയ്യാനും റിമോട്ട് ഡയറക്uടറികളുമായും ഫയലുകളുമായും സംവദിക്കാനും ഞങ്ങളെ പ്രാപ്uതമാക്കുന്ന (സെക്യുർ ഷെൽ ഫയൽസിസ്റ്റം) ക്ലയന്റാണ് SSHFS.

SFTP എന്നത് ഒരു സുരക്ഷിത ഫയൽ ട്രാൻസ്ഫർ പ്രോട്ടോക്കോളാണ്, അത് സെക്യുർ ഷെൽ പ്രോട്ടോക്കോളിലൂടെ ഫയൽ ആക്സസ്, ഫയൽ ട്രാൻസ്ഫർ, ഫയൽ മാനേജ്മെന്റ് സവിശേഷതകൾ എന്നിവ നൽകുന്നു. ഒരു കമ്പ്യൂട്ടറിൽ നിന്ന് മറ്റൊരു കമ്പ്യൂട്ടറിലേക്ക് നെറ്റ്uവർക്കിലൂടെ ഫയലുകൾ കൈമാറുമ്പോൾ എസ്എസ്എച്ച് എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്നതിനാൽ, എസ്എസ്എച്ച്എഫ്എസ് ബിൽറ്റ്-ഇൻ ഫ്യൂസ് (ഫയൽസിസ്റ്റം ഇൻ യൂസർസ്uപേസ്) കേർണൽ മൊഡ്യൂളുമായി വരുന്നു, അത് കേർണൽ കോഡ് പരിഷ്uക്കരിക്കാതെ തന്നെ തങ്ങളുടെ ഫയൽ സിസ്റ്റം സൃഷ്uടിക്കാൻ പ്രത്യേകാവകാശമില്ലാത്ത ഉപയോക്താക്കളെ അനുവദിക്കുന്നു.

ഈ ലേഖനത്തിൽ, ഒരു പ്രാദേശിക ലിനക്സ് മെഷീനിൽ റിമോട്ട് ലിനക്സ് ഫയൽസിസ്റ്റം അല്ലെങ്കിൽ ഡയറക്ടറി മൌണ്ട് ചെയ്യുന്നതിന് ഏത് ലിനക്സ് വിതരണത്തിലും SSHFS ക്ലയന്റ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും ഉപയോഗിക്കാമെന്നും ഞങ്ങൾ നിങ്ങളെ കാണിക്കും.

ഡിഫോൾട്ടായി എല്ലാ പ്രധാന ലിനക്സ് വിതരണങ്ങളിലും sshfs പാക്കേജുകൾ നിലവിലില്ല, അവയുടെ ഡിപൻഡൻസികൾക്കൊപ്പം Yum കമാൻഡിന്റെ സഹായത്തോടെ sshfs ഇൻസ്റ്റോൾ ചെയ്യുന്നതിനായി നിങ്ങളുടെ Linux സിസ്റ്റങ്ങൾക്ക് കീഴിലുള്ള epel repository പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്.

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

sshfs പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങളുടെ റിമോട്ട് ഫയൽ സിസ്റ്റം മൌണ്ട് ചെയ്യുന്ന ഒരു മൌണ്ട് പോയിന്റ് ഡയറക്ടറി നിങ്ങൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, ഞങ്ങൾ /mnt/tecmint എന്നതിന് കീഴിൽ മൗണ്ട് ഡയറക്ടറി സൃഷ്ടിച്ചു.

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

ഒരിക്കൽ നിങ്ങൾ മൗണ്ട് പോയിന്റ് ഡയറക്uടറി സൃഷ്ടിച്ചുകഴിഞ്ഞാൽ, /mnt/tecmint-ന് കീഴിൽ റിമോട്ട് ഫയൽ സിസ്റ്റം മൌണ്ട് ചെയ്യുന്നതിനായി ഒരു റൂട്ട് ഉപയോക്താവായി താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങളുടെ കാര്യത്തിൽ മൌണ്ട് ഡയറക്ടറി എന്തും ആയിരിക്കും.

ഇനിപ്പറയുന്ന കമാൻഡ് ലോക്കൽ സിസ്റ്റത്തിൽ /mnt/tecmint എന്നതിന് കീഴിൽ /home/tecmint എന്ന റിമോട്ട് ഡയറക്ടറി മൗണ്ട് ചെയ്യും. (നിങ്ങളുടെ ഐപി വിലാസവും മൗണ്ട് പോയിന്റും ഉപയോഗിച്ച് x.x.x.x മാറ്റിസ്ഥാപിക്കാൻ മറക്കരുത്).

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

നിങ്ങളുടെ Linux സെർവർ SSH കീ അടിസ്ഥാനമാക്കിയുള്ള അംഗീകാരം ഉപയോഗിച്ചാണ് ക്രമീകരിച്ചിരിക്കുന്നതെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡിൽ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ പൊതു കീകളിലേക്കുള്ള പാത വ്യക്തമാക്കേണ്ടതുണ്ട്.

# 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]

നിങ്ങൾ മുകളിലെ കമാൻഡ് ഒരു പിശകും കൂടാതെ വിജയകരമായി പ്രവർത്തിപ്പിച്ചിട്ടുണ്ടെങ്കിൽ, /mnt/tecmint എന്നതിന് കീഴിൽ മൌണ്ട് ചെയ്തിരിക്കുന്ന റിമോട്ട് ഫയലുകളുടെയും ഡയറക്ടറികളുടെയും ലിസ്റ്റ് നിങ്ങൾ കാണും.

# cd /mnt/tecmint
# ls
 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

നിങ്ങൾ df -hT കമാൻഡ് പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, നിങ്ങൾ റിമോട്ട് ഫയൽ സിസ്റ്റം മൗണ്ട് പോയിന്റ് കാണും.

# df -hT
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

റിമോട്ട് ഫയൽസിസ്റ്റം ശാശ്വതമായി മൗണ്ട് ചെയ്യാൻ, നിങ്ങൾ /etc/fstab എന്ന ഫയൽ എഡിറ്റ് ചെയ്യേണ്ടതുണ്ട്. ചെയ്യാൻ, നിങ്ങളുടെ പ്രിയപ്പെട്ട എഡിറ്റർ ഉപയോഗിച്ച് ഫയൽ തുറക്കുക.

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

ഫയലിന്റെ അടിയിലേക്ക് പോയി അതിൽ ഇനിപ്പറയുന്ന വരി ചേർത്ത് ഫയൽ സേവ് ചെയ്ത് പുറത്തുകടക്കുക. ഡിഫോൾട്ട് ക്രമീകരണങ്ങളുള്ള താഴെയുള്ള എൻട്രി മൗണ്ട് റിമോട്ട് സെർവർ ഫയൽ സിസ്റ്റം.

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

സിസ്റ്റം റീബൂട്ട് ചെയ്യുമ്പോൾ ഫയൽസിസ്റ്റം സ്വയമേവ മൗണ്ട് ചെയ്യുന്നതിനായി സെർവറുകൾക്കിടയിൽ നിങ്ങൾക്ക് SSH പാസ്uവേഡ് ഇല്ലാത്ത ലോഗിൻ ഉണ്ടെന്ന് ഉറപ്പാക്കുക.

നിങ്ങളുടെ സെർവർ SSH കീ അടിസ്ഥാനമാക്കിയുള്ള അംഗീകാരം ഉപയോഗിച്ചാണ് ക്രമീകരിച്ചിരിക്കുന്നതെങ്കിൽ, ഈ വരി ചേർക്കുക:

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

അടുത്തതായി, മാറ്റങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നതിന് നിങ്ങൾ fstab ഫയൽ അപ്ഡേറ്റ് ചെയ്യേണ്ടതുണ്ട്.

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

റിമോട്ട് ഫയൽസിസ്റ്റം അൺമൗണ്ട് ചെയ്യുന്നതിന്, താഴെ പറയുന്ന കമാൻഡ് നൽകുക, അത് റിമോട്ട് ഫയൽ സിസ്റ്റത്തെ അൺമൗണ്ട് ചെയ്യും.

# umount /mnt/tecmint

ഇപ്പോൾ അത്രയേയുള്ളൂ, നിങ്ങൾക്ക് എന്തെങ്കിലും ബുദ്ധിമുട്ടുകൾ നേരിടുകയോ റിമോട്ട് ഫയൽ സിസ്റ്റം മൌണ്ട് ചെയ്യുന്നതിൽ എന്തെങ്കിലും സഹായം ആവശ്യമുണ്ടെങ്കിൽ, ദയവായി അഭിപ്രായങ്ങൾ വഴി ഞങ്ങളെ ബന്ധപ്പെടുക, ഈ ലേഖനം വളരെ ഉപയോഗപ്രദമാണെന്ന് നിങ്ങൾക്ക് തോന്നുന്നുവെങ്കിൽ അത് നിങ്ങളുടെ സുഹൃത്തുക്കളുമായി പങ്കിടുക.