دسترسی SFTP بدون نیاز به Shell در ابونتو 18

| دسته بندی: آموزش سرور مجازی لینوکس |
دسترسی SFTP بدون نیاز به Shell در ابونتو 18

در این بخش از سری مطالب آموزش ابونتو 18 در آذرآنلاین  با آموزش نحوه دسترسی SFTP بدون نیاز به Shell در ابونتو 18 در خدمت شما دوستان گرامی خواهیم بود.

در ابتدای امر و قبل از شروع این آموزش و نحوه تنظیمات آن ، به معرفی SFTP خواهیم پرداخت تا کاربرانی که با این پروتکل انتقال فایل توسط SSH آشنایی ندارند ، درک بهتری از آن در مراحل آموزش داشته باشند.

معرفی SFTP

SFTP یا همان SSH File Transfer Protocol یک پروتکل انتقال فایل است که به صورت پیش‌فرض پس از تنظیمات SSH بر روی سیستم عامل لینوکس فعال می‌شود.

با استفاده از SFTP شما قادر خواهید بود فایل‌های خود را در یک تونل امن به لینوکس خود منتقل کرده و یا آنها را نیز دریافت نمایید.

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

دسترسی به صورت پیش‌فرض به SFTP زمانی ارائه می‌شود که یوزر ، به Shell یا همان کنسول SSH دسترسی دارد و کنسول دستوری لینوکس را در اختیار خواهد داشت.

حال در این مطلب قصد داریم با سری تنظیماتی که بر روی سرور لینوکسی انجام می‌شود ، دسترسی SFTP بدون نیاز به Shell در ابونتو 18 را آموزش داده تا بتوانید به سادگی به کاربران خود دسترسی انتقال فایل را داده بدون اینکه بتوانند به Shell متصل شوند.

دسترسی SFTP بدون نیاز به Shell در ابونتو 18

1- ابتدا از طریق SSH و یوزر Root به لینوکس خود متصل شوید.

2- سپس دستورات زیر را وارد کرده تا یک نام کاربری جدید تعریف و پسورد برای آن در نظر گرفته شود.

adduser abtin
passwd abtin

پس از وارد کردن دستور دوم ، دوبار پسورد یوزر Abtin را وارد کنید تا پسورد بر روی یوزر تنظیم شود.

3- حال یک دایرکتوری برای دسترسی به SFTP برای یوزر مورد نظر ایجاد نمایید.

mkdir -p /var/sftp/files

در این دستور یک دایرکتوری با نام SFTP ایجاد شده و در داخل آن یک دایرکتوری دیگر با نام files ایجاد می‌گردد.

4- با دستور زیر مجوز دسترسی به این دایرکتوری‌ها را به یوزر root بدهید.

chown root:root /var/sftp

5- سپس دسترسی مورد نیاز برای انتقال فایل را به یوزر مورد نظر بر روی دایرکتوری files بدهید.

chown abtin:abtin /var/sftp/files

6- حال در ادامه به تنظیم دسترسی SFTP یوزر Abtin تنها به دایرکتوری files خواهیم پرداخت تا پس از متصل شدن یوزر Abtin به SFTP ، تنها به یک دایکتوری مشخص متصل شود و سایر دایرکتوری‌ها را مشاهده ننماید.

برای این امر ابتدا فایل تنظیمات SSH را با ویرایشگر Nano و یا ویرایشگر مورد نظر خود باز کنید.

nano /etc/ssh/sshd_config

سپس در انتهای فایل ، عبارات زیر را کپی نمایید.

Match User abtin
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

در نظر داشته باشید که در بخش Match User باید نام کاربری ایجاد شده را وارد کرده و در بخش ChrootDirectory نیز آدرس دایرکتوری ایجاد شده برای این کاربر را نیز وارد کنید.

سپس فایل را ذخیره کرده و از آن خارج شوید.

7-  برای اعمال تغییرات بر روی سرویس SSH ، این سرویس را یک بار ریستارت نمایید.

systemctl restart sshd

8- حال شما می‌توانید از طریق نرم افزار WinSCP و یا سایر ابزارهای SFTP و یا دستور SFTP از یک لینوکس دیگر و با یوزر ایجاد شده به لینوکس خود متصل شوید.

چنانچه نیاز به آموزش نرم افزار WinSCP دارید به مطلب آموزش استفاده از نرم افزار WinSCP نیز مراجعه نمایید.

امیدواریم در پایان از آموزش دسترسی SFTP بدون نیاز به Shell در ابونتو 18 استفاده لازم را برده باشید.

برای انجام این عملیات در CentOS 7 می‌توانید به آموزش دسترسی SFTP بدون دسترسی به Shell در CentOS 7 مراجعه نمایید.

کاربر گرامی شما می‌توانید سؤالات مربوط به این آموزش را در بخش کامنت‌ها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید و یا برای رفع مشکلات دیگر در زمینه آموزش‌های آذرآنلاین به بخش Community مراجعه کرده و مشکل خود را در آن مطرح نمایید تا در اسرع وقت کاربران دیگر و کارشناسان به سؤالات شما پاسخ دهند.