در این بخش از سری مطالب آموزش دبیان 9 با آموزش تنظیم دسترسی SFTP بدون نیاز به Shell در دبیان 9 در خدمت شما دوستان گرامی خواهیم بود.
در ابتدای امر و قبل از شروع این آموزش و نحوه تنظیمات آن ، به معرفی کوتاهی از SFTP خواهیم پرداخت تا کاربرانی که با این پروتکل انتقال فایل توسط SSH آشنایی ندارند ، درک بهتری از آن در مراحل آموزش داشته باشند.
SFTP چیست؟
SFTP یا همان SSH File Transfer Protocol یک پروتکل انتقال فایل بر روی بستر SSH است که به صورت پیشفرض پس از تنظیم SSH بر روی سیستم عامل لینوکس دبیان فعال میگردد.
با استفاده از SFTP شما قادر خواهید بود فایلهای خود را در یک تونل امن به لینوکس خود منتقل کرده و یا آنها را نیز دریافت نمایید.
نکته قابل توجه در مورد این پروتکل این است که اکثراً آن را با پروتکل FTP و یا نوع امن آن اشتباه میگیرند ، اما باید بدانید که این پروتکل به صورت کلی تمامی قوانین و شرایط خود را دارد و هیچ وجه شباهتی در قوانین با FTP ندارد.
دسترسی به صورت پیشفرض به SFTP زمانی داده میشود که یوزر ، به Shell یا همان کنسول SSH دسترسی دارد و کنسول دستوری لینوکس را در اختیار خواهد داشت.
حال در این مطلب قصد داریم با سری تنظیماتی که بر روی سرور دبیان انجام میشود ، تنظیم دسترسی SFTP بدون نیاز به Shell در دبیان 9 را آموزش داده تا بتوانید به سادگی به کاربران خود دسترسی انتقال فایل را داده بدون اینکه بتوانند به Shell و لینوکس شما لاگین نمایند.
تنظیم دسترسی SFTP بدون نیاز به Shell در دبیان 9
1- ابتدا از طریق SSH و یوزر Root به دبیان خود متصل شوید.
نکته : چنانچه به یوزر Root دسترسی ندارید و میتوانید قبل از هر دستور Sudo را وارد کرده تا دستورات به صورت کامل ایجاد شوند.
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
دقت داشته باشید که در این دستور باید نام یوزرنیمی که در مراحل قبل ساخته شده را به جای abtin جایگزین نمایید.
6- حال در ادامه به تنظیم دسترسی SFTP یوزر Abtin تنها به دایرکتوری files خواهیم پرداخت تا پس از متصل شدن یوزر Abtin به SFTP ، تنها به یک دایکتوری مشخص متصل شود و سایر دایرکتوریها را مشاهده ننماید.
برای این امر ابتدا فایل تنظیمات SSH را با ویرایشگر vi و یا ویرایشگر مورد نظر خود باز کنید.
vi /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 نیز آدرس دایرکتوری ایجاد شده برای این کاربر را نیز وارد کنید.
پس از وارد کردن عبارات فوق ، کلید ESC را وارد کرده و کاراکترهای wq: را وارد نمایید تا فایل ذخیره و از آن خارج شوید.
7- برای اعمال تغییرات بر روی سرویس SSH ، این سرویس را یک بار ریستارت نمایید.
systemctl restart sshd
8- حال شما قادر خواهید بود از طریق نرم افزار WinSCP و یا سایر ابزارهای SFTP و یا دستور SFTP از یک لینوکس دیگر و با یوزر ایجاد شده به لینوکس خود متصل شوید.
چنانچه نیاز به آموزش نرم افزار WinSCP دارید به مطلب آموزش استفاده از نرم افزار WinSCP نیز مراجعه نمایید.
امیدواریم در پایان از آموزش تنظیم دسترسی SFTP بدون نیاز به Shell در دبیان 9 استفاده لازم را برده باشید.
کاربر گرامی شما میتوانید سؤالات مربوط به این آموزش را در بخش کامنتها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید و یا برای رفع مشکلات دیگر در زمینه آموزشهای آذرآنلاین به بخش Community مراجعه کرده و مشکل خود را در آن مطرح نمایید تا در اسرع وقت کاربران دیگر و کارشناسان به سؤالات شما پاسخ دهند.