نحوه ی استفاده ازSSHFS

در بسیاری از موارد، انتقال فایل به سرورمجازی و یا برعکس زحمات فراوانی دارد. یک سناریوی کاربری توسعه یافته را تصور کنید که شما برنامه های آن را از راه دور کدنویسی می کنید و خودتان متن سند را به صورت تکراری به سرور مجازیتان آپلود می کنید. این مشکل را می توان بدون هیچ زحمتی در یک بازه زمانی کوتاه برطرف کرد. خوشبختانه یک راه برای نصب سیستم فایل سرورمجازی شما بر روی کامپیوتر محلی تان است؛ بنابراین شما در همه حال می توانید تغییراتی اعمال کنید و با سرورمجازی خود به عنوان یک سیستم ذخیره محلی برخورد کنید.

 فرض کنید سرویس هایی مانند FTP,NFS و یا Samba برای اشتراک دایرکتوری ها ندارید ولی می خواهید یک دایرکتوری دیگر را روی ماشین محلی mount کنید. می توانید از سرویس sshfs استفاده کنید. روش کار مانند اتصال به یک ماشین دیگر از طریق ssh و mount کردن یک دایرکتوری توسط NFS است. فرض کنید می خواهید از روی ماشین 1 با آدرس 192.168.149.130 به یک دایرکتوری روی ماشین2 به آدرس 192.168.149.131 وصل بشوید و دایرکتوری mnt/sshfs/ را از روی ماشین 2 روی دایرکتوری mnt/remotedir/ . برای اینکار می توانید از sshfs استفاده کنیم.

 

نصب SSHFSدر سرور مجازی لینوکس Ubuntu/Debian

نرم افزار SSHFS یک نرم افزار مبتنی بر لینوکس است که باید بر روی کامپیوتر محلی شما نصب گردد. در سرور مجازی لینوکس مبتنی بر Ubuntu و Debianمیتوان بواسطه apt-get نصب کرد.

 

 در Mac OSX

شما می توانید SHFS را روی Mac OSX نصب کنید. به این منظور، باید FUSE و SSHFS را از سایت osxfuse دانلود کنید.

در Windows

برای نصب SSHFS در ویندوز، باید آخرین ورژن بسته نرم¬افزاری win-sshfs را از مخزن کد گوگل تهیه کنید. در قسمت پایین، می توانید لینک دانلود مستقیم را پیدا کنید. بعد از دانلود کردن بسته نرم¬افزاری، برای شروع مراحل نصب، روی آن دو بار کلیک کنید (دبل کلیک). ممکن است پنجره هایی باز شود و از شما خواسته شود تا فایل های اضافه ی بیشتری دانلود کنید؛ بدین ترتیب برنامه، .NET Framework 4.0 را دانلود و به طور اتوماتیک آن را نصب خواهد کرد.


https://win-sshfs.googlecode.com/files/win-sshfs-0.0.1.5-setup.exe

نصب سیستم فایل راه دور

دستورالعمل های زیر برای هر دو سیستم OSX و Ubuntu/Debian عمل خواهد کرد. دستورالعمل ها برای سیستم های ویندوز را می توان در پایین این فایل آموزشی مشاهده کرد. برای شروع، نیاز به ایجاد یک مسیر محلی داریم که در آن سیستم فایل سرورمجازی را سوار کنیم.

 

 

اکنون، می توانیم از sshfs برای نصب سیستم فایل به صورت محلی و با دستور زیر استفاده کنیم. اگر VPS شما با ورودی از طریق پسورد صورت پذیرد، دستور زیر فوت و فن را انجام می دهد. در طول این مرحله، از شما پسورد سرور مجازیتان درخواست می¬شود.

 sudosshfsroot@xxx.xxx.xxx.xxx:/ /mnt/droplet

اگر سرورمجازی شما برای وارد شدن از طریق رمز اعتباربخشی sshfs پیکربندی شده است، در آن صورت باید به sshfs اعلام کنید که از کلیدهای عمومی با دستور زیر استفاده کند. از شما درخواست می شود که عبارت پسوردی که در طول ایجاد رمزتان با ssh-kegen استفاده کردید، را وارد کنید.

 

 

اکنون شما می توانید با فایل های روی سرور مجازی لینوکس خودتان کار کنید آنچنان که این یک دستگاه فیزیکی است و به ماشین محلی شما متصل است. برای مثال، اگر شما در مسیر سرورمجازی لینوکس/mnt/در ماشین محلی خودتان حرکت کنید، می توانید به صورت محلی یه فایل ایجاد کنید و فایل موردنظر در سرور مجازی لینوکس تان ظاهر خواهد شد. به طور همانند، شما می توانید فایل ها را به پوشۀ سرور مجازی لینوکس/mnt/ کپی کنید و می بینید که این فایلها به سرور مجازی لینوکس شما در پس زمینه آپلود خواهند شد. این نکته خیلی حائز اهمیت است که به خاطر داشته باشیم این فرایند فقط یک نقطه سوار موقت را برای سرور مجازی لینوکس شما فراهم می کند. اگر سرور مجازی یا ماشین محلی خاموش یا ریست شود، باید همان فرایند را برای نصب اطلاعات مجدداً استفاده کنید.

 

پیاده کردن سیستم فایل راه دور

وقتی که دیگر احتیاجی به نقطه نصب ندارید، می توانید به سادگی با دستور زیر آن را پاک کنید

 

 

نصب دائمی سیستم فایل راه دور

نرمافزار SSHFS همچنین برای راه اندازی نقطه استقرار دائمی برای سیستم های فایل راه دور اجازه می دهد. این کار یک نقطه استقراری وضع می کند که از طریق راه اندازی های مجدد هر دو مورد، ماشین محلی و سرور مجازی های کوچک، ادامه می دهد. به منظور راه اندازی یک نقطه استقرار دائمی باید فایل /etc/fstab را روی ماشین محلی ویرایش کنیم تا سیستم فایل را در هر زمانی که سیستم راه اندازی شده است، به طور اتوماتیک نصب کنیم.
ابتدا، نیاز به ویرایش فایل /etc/fstab با یک ویرایشگر متن داریم.

 

تا پایین فایل اسکرول کنید و جمله زیر را اضافه کنید

 sshfs#root@xxx.xxx.xxx.xxx:/ /mnt/droplet

تغییرات را برای /etc/fstab ذخیره کنید و در صورت لزوم مجدداً راه اندازی کنید.
باید متذکر شویم که نصب دائمی سیستم فایل VPS شما به صورت محلی، یک ریسک امنیتی است. اگر سرور مجازی لینوکس محلی تان در معرض خطر بیافتد، در آنصورت یک مسیر مستقیم به سرور مجازی شما پیدا می کند. بنابراین، نصب دائمی محصولات روی سرور توصیه نمی شود.

 

استفاده از Win-SSHFS برای نصب سیستم های فایل راه دور روی ویندوز

بعد از بالا آمدن برنامه win-sshfs، یک رابط گرافیکی برای ایجاد فرایند نصب یک فایل راه دور در اختیار خواهید داشت.
گام اول: بر روی دکمه Add در گوشه سمت چپ، پایین پنجره کلیک کنید.
گام دوم: برای به اشتراک گذاری فایل در فضای نام درایو (Drive Name)، یک اسم وارد کنید.
گام سوم: IP مربوط به سرور مجازی لینوکس خودتان را در فضای هاست (Host) وارد کنید.
گام چهارم: پورت SSH خود را وارد کنید. (اجازه دهید همان ۲۲ باشد. تنها در صورتی آن را عدد دیگری وارد کنید که اگر شما به صورت دستی پورت SSH را تغییر داده¬اید).
گام پنجم: در قسمت نام کاربری (username)، نام کاربری خود را وارد کنید.(اگر حساب های کاربری را به صورت دستی وارد کرده اید، باید root را در این قسمت وارد کنید).
گام ششم: پسورد SSH را در قسمت پسورد (password) وارد کنید. (توجه داشته باشید که در ویندوز شما مجبور هستید سرور مجازی خودتان را در حالی که برای ورود با پسورد پیکربندی شده است، داشته باشید).
گام هفتم: نقطه استقرار موردنظر خود را درقسمت Directory وارد کنید. (سیستم فایل را از root وارد کنید. به همین صورت، شما می توانید /var/www or ~/ را برای مسیر home وارد کنید).
گام هشتم: درایوی که شما مایلید ویندوز برای سیستم فایل قطره استفاده کند را انتخاب کنید.
گام نهم: بر روی دکمه نصب (Mount) به منظور اتصال به قطره و همچنین نصب سیستم فایل کلیک کنید.
اکنون سیستم فایل سرور مجازی لینوکس تان از طریق (My Computer) به همان صورتی که درایو را در گام هشتم انتخاب کردید، در دسترس قرار خواهد گرفت.

 

کاربرد نقطه استقرار راه دور

نصب فایل راه دور همانند سیستم ذخیره سازی نصب شده به صورت محلی عمل می کند: شما قادر به ایجاد، کپی، حرکت، ویرایش، فشرده سازی یا انجام هرگونه عملیات سیستمی فایل هستید. اما شما قادر به راه اندازی برنامه ها یا متن های روی سرور راه دور نیستید. یکی از کاربردهای عادی آن را می توان به این صورت برشمرد که شما در سرور مجازی لینوکس خود میزبان یک وبسایت شدید و نیاز به ایجاد تغییرات در آن وبسایت دارید. نصب سیستم فایل به صورت محلی به شما اجازه می دهد که هر ویرایشگر کد، IDE، یا ویرایشگر متنی که بواسطه آنها مایل به ویرایش وبسایت باشد، را داشته باشید و همچنین هر تغییری که شما ایجاد کنید به محض اینکه روی ماشین محلیتان درست شوند، روی سرور مجازی لینوکس تان بازتاب خواهند داشت. به طور مشابه، روی سرور مجازی هایی که برای آزمودن اهداف مربوط به پروژه های کدگذاری شده استفاده شد، ما را مجاز می کند تا اصلاحات ساده تری برای کدها داشته باشیم که می توانند فوراً و بدون نیاز به اصلاح کد به صورت محلی تست شوند (و موانع آپلود کردن کپی های جدید فایل را برای تغییرات کم کد حذف می کند).