منبع اصلی نوشتار زیر در این لینک قرار دارد

Mount کردن یک پوشه از سرور بر روی کلاینت لینوکسی با استفاده از sshfs

شاید در مدیریت سرورها بارها برایتان پیش آمده باشد که بخواهید یک دایرکتوری از سروری بر پایه لینوکس که به صورت ریموت به آن متصل هستید را بر روی شاخه ای از سیستم خودتان داشته باشید.  به عنوان مثال یک دایرکتوری درون فولدر خانگی (Home/) به منظور تبادل اطلاعات و فایل های که با واسطه از آن سرور می خواهید بر روی کامپیوتر خودتان داشته باشید (مثل دانلود از سایت هایی مثل اوراکل که VirtualBox را برای IP های داخل ایران مسدود کرده اند) .

\"\"

یا اینکه می خواهید درون یک شبکه محلی یک Cache Server ایجاد کنید که همه کامپیوترهای بر پایه Debian یا ubuntu یا هر توزیع دیگر بدون اینکه هر کدام به صورت جداگانه آپدیت های خود را از مخازن دریافت کنند٫ با اتصال به این سرور و مانت کردن Cache Directory آن درون کش دایرکتوری خود آپدیت ها را به صورت لوکال دریافت کنند به جای اینکه تک تک سیستم ها هر کدام آپدیت های خود را بگیرند و پهنای باند و حجم دانلود اینترنت ماهیانه هدر رود.

یا اینکه مثل من تنبل هستید و می خواهید همیشه دایرکتوری خانگی روی سرور در دسترس‌تان باشد بدون  هیچ دردسری. یا هر دلیل دیگری که شما می توانید برای آن از این راهنمای کوچک و مختصر استفاده کنید.

مواد لازم:

۱) یک عدد سرور با دسترسی SSH که بر روی آرچ لینوکس می توانید با دستور زیر سرویس SSH را بر روی آن نصب و  راه اندازی کنید :

sudo pacman -Sy openssh

sudo /etc/rc.d/sshd start

در ساده ترین حالت و بدون هیچ تنظیمات خاصی باید به فایل کانفیگ ssh مسیر /etc/ssh/sshd_config رفته و پورت آنرا مشخص کنید. در حالت پیشفرض و با uncomment کردن گزینه موجود٫ ssh بر روی پورت ۲۲ فعال خواهد شد.

۲) بعد از این مرحله باید پکیج SSHFS را بر روی کلاینت یا کلاینت های موجود نصب کنید. برای نصب این بسته به شکل زیر عمل کنید:

sudo pacman -Sy sshfs

۳) بعد از این مرحله نیاز است که شاخه مورد نظر بر روی سرور  را بر روی کلاینت که سیستم خودتان است مانت کنید. با کمک کامند زیر این کار انجام می شود:

sudo sshfs USER@REMOTE-SERVER-IP:/path/to/directory /mount/to/local/directory SSH-OPTIONS

به عنوان مثال من کش دایرکتوری سروری که روی آن آرچ نصب شده را درون دایرکتوری خانگی ام به این صورت مانت می کنم:

sudo sshfs [email protected]:/var/cache/pacman/pkg  ~/my-mount-point -C -p 22

۴) و برای unmount کردن دایرکتوری موجود هم می توانید از دستور زیر استفاده کنید:

sudo fusermount -u ~/my-mount-point

۵) از طرفی اگر می خواهید این عملیات هر بار با بوت شدن سیستم در پروسه بوت انجام گیرد می توانید چیزی شبیه خط زیر را در فایل fstab در دایرکتوری etc خود کپی کنید:

USER@REMOTE-SERVER-IP:/path/to/directory /mount/to/local/directory      fuse.sshfs      defaults    ۰      ۰

برای استفاده از sshfs می توانید از تنظیمات پیشتری استفاده کنید. کافی است Man Page های مربوط به ssh و sshfs را یه مرور مختصری بکنید \':)\'

پی نوشت ۱: این کار ممکن است به روش های دیگر مثل استفاده از سرویس های NFS یا SMBFS یا FTP هم انجام شود ولی در مواقع ضروری این راهنمای کوچک سریعترین راه ممکن خواهد بود بدون اینکه سرویس خاصی جز ssh بر روی سرور مربوطه نصب و کانفیگ شده باشد.

پی نوشت ۲:  برای انجام شدن این عملیات با موفقیت٫ نیاز دارید که پکیج fuse را هم نصب داشته باشید. من به دلیل استفاده از توزیع آرچ لینوکس راهنمای نصب پکیج ها را بر روی این توزیع انتخاب کردم . شما اگر از توزیع دیگری مثل Debian یا Fedora یا Ubuntu یا… استفاده می کنید فقط با کمی جستجو و پیدا کردن نام پکیج sshfs و fuse برای توزیع مورد نظرتان می توانید از این راهنما استفاده کنید.



برچسب ها : , , , , , , , , ,