در حال حاضر سرعت انتقال داده بیشتر شده است زیرا فناوری روز به روز در حال پیشرفت است و جابجایی اطلاعات برای به دست آوردن توجه کاربران بسیار مهم است. در بسیاری از موارد، این انتقال فایل امن نیست و این مشکل نیاز به برطرف شدن دارد. انتقال فایل به صورت امن یکی از جنبه های ضروری دنیای داده محور امروزی (data-driven world) است.
اگر فایل به اشتباه منتقل شود، یک اشتباه جزئی ممکن است منجر به نقض امنیتی شود و عواقب متعددی برای شرکت ایجاد کند. با این حال روش های زیادی برای ایمن سازی این فرآیند وجود دارد، به همین دلیل در این مقاله یاد می گیرید که چگونه فایل های خود را با استفاده از SFTP (پروتکل انتقال امن فایل) انتقال دهید. همچنین نمای کلی از پروتکل SFTP و پیش نیازهای مهم برای راه اندازی این اتصال را ارائه می دهد، با ما همراه باشید.
فهرست مطالب
SFTP چیست؟
SFTP (Secure File Transfer Protocol) پروتکل انتقال فایل است که به کاربران اجازه می دهد فایل ها یا سایر داده ها را بین رایانه ها یا از طریق وب به صورت امن منتقل کنند که این پروتکل بر روی FTP ساخته شده و شامل اجزای امنیتی Secure Shell (SSH) می باشد.
SSH یک جزء رمزنگاری امنیت اینترنت می باشد و SFTP فایل ها را از طریق SSH و FTP انتقال می دهد. Client باید توسط سروری تأیید شود که از داده ها در برابر حملات هکرها محافظت می کند.
SFTP زمانی استفاده می شود که نیاز به انتقال برخی از اطلاعات حساس به صورت ایمن از طریق وب یا بین رایانه ها باشد. برای مثال، دادههای تجاری ممکن است تحت هیچ قانون حفظ حریم خصوصی دادهها قرار نگیرند، در صورتی که به دست افراد نادرستی بیفتند، میتوانند مخرب باشند. بنابراین یک کسب و کار ممکن است بخواهد SFTP را برای انتقال ایمن فایل ها انتخاب کند. عملکرد SFTP در شکل زیر نشان داده شده است.
پیش نیازهای انتقال فایل از طریق SFTP
قبل از راهاندازی انتقال فایل با استفاده از فرآیند SFTP، پیش نیازهای زیر ضروری ومهم می باشند که در دسترس داشته باشید:
- دسترسی به دستگاه محلی و راه دور
- ترمینال برای ایجاد اتصال SSH
- دانش اولیه کار در مورد سیستم فایل و دستورات یونیکس
مراحل انتقال فایل با استفاده از SFTP
راه اندازی انتقال فایل با استفاده از SFTP فرآیندی ساده می باشد و به طور کلی اتصال را می توان با دنبال کردن 2 روش یعنی با استفاده از روش کاربری و رمز عبور و روش دوم یعنی با استفاده از کلیدهای SSH برای ورود بدون رمز عبور FTP برقرار کرد. این روش برای تنظیم انتقال فایل با استفاده از SFTP از روش دوم استفاده می شود و مراحل زیر را دنبال می کند.
ایجاد کلیدهای SSH
اولین قدم در راه اندازی انتقال فایل از طریق SFTP با استفاده از کلیدهای SSH و تولید کلیدهای SSH است. به کمک مراحل زیر به راحتی می توانید دستورات مربوطه را انجام دهید.
در ابتدا ترمینال لینوکس/یونیکس را در مک یا خط فرمان در ویندوز یا هر ترمینال در ماشین لینوکس مطابق شکل زیر باز کنید.
سپس برای راه اندازی یک نشانه RSA، دستور زیر را در ترمینال اجرا کنید:
ssh-keygen -t rsa
پس از تکمیل و انجام دستور بالا، چند سوال ظاهر می شود، مانند تصویر زیر، کلید Enter فشار دهید.
Enter file in which to save the key (/home/Username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
در این مرحله خالی نگه داشتن عبارت عبور کاربر را قادر می سازد تا بدون هیچ رمز عبور وارد سرور راه دور شود. در صورتی که میخواهید امنیت بیشتری داشته باشید، برخی از عبارتهای عبور را تنظیم کنید و هر بار که وارد سرور راه دور میشوید، از شما رمز عبور خواسته میشود، همان طور که در شکل زیر می بینید.
دقت داشته باشید که دو کلید (public and private) تولید خواهد شد. یکی id_rsa و دیگری id_rsa.pub می باشد. کلید خصوصی – id_rsa بوده و باید در ماشین محلی شما باشد، در حالی که id_rsa.pub کلید عمومی می باشد و باید به سرور راه دور منتقل شود.
کپی کردن کلیدهای SSH در Remote server
گام بعدی در انتقال فایل با استفاده از SFTP کپی کردن کلیدهای تولید شده بر روی یک سرور راه دور است. چندین سیاست احراز هویت و مجوز وجود دارد که باید در این مرحله رعایت شود که در زیر نشان داده شده است.
اکنون که دو کلید RSA را ایجاد کرده اید، کلید عمومی را در سرور راه دور قرار دهید. برای کپی کردن فایل عمومی، دستور زیر را در ماشین محلی اجرا کنید:
- ssh-copy-id user@server_ip
در اینجا کاربر، نام کاربری سرور راه دور می باشد و server_ip آدرس IP سرور راه دور است. پس از ارائه اطلاعات بالا، یک پیام هشدار مانند زیر دریافت خواهید کرد:
The authenticity of host 'Server's IP address' can't be established.
RSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)?
در خط فرمان “yes” را تایپ کنید و برای ادامه enter را بزنید. سپس پیام دیگری ظاهر می شود که در زیر آمده است:
Warning: Permanently added 'SERVER IP' (RSA) to the list of known hosts.
user@serverip's password:
اکنون رمز عبور کاربر سرور راه دور را تایپ کرده و سپس روی enter کلیک کنید. سپس به صورت زیر پیام دیگری به شما خوشامد میگوید:
Now try logging into the machine, with "ssh 'user@serverip'", and check in:
~/.ssh/authorized_keys*
to make sure we haven't added extra keys that you weren't expecting.
اکنون برای هر بار ورود به سرور از راه دور، از دستور زیر استفاده کنید:
ssh user@server_ip
همانطور که رمز RSA را اضافه کردهایم، در این مرحله رمز عبور نمیخواهد مگر اینکه در زمان تولید رمز RSA یک عبارت عبور تنظیم کرده باشید.
راه اندازی اتصال SFTP
در حال حاضر مرحله بعدی در انتقال فایل با استفاده از SFTP، راه اندازی اتصال SFTP است. این نیز یک فرآیند ساده می باشد و با دنبال کردن مراحل زیر قابل انجام است.
در ابتدا ترمینال فرمان را باز کنید و دستور زیر را اجرا کنید:
sftp user@server_ip
اکنون در این مرحله کاربر مربوط به سرور راه دور بوده و server_ip آدرس IP سرور راه دور می باشد. پس از اتصال موفق، اعلان sftp را مشاهده خواهید کرد.
انتقال فایل ها از سرورهای راه دور به سیستم های محلی
مرحله بعدی در انتقال فایل با استفاده از SFTP، انتقال فایل ها از سرورهای راه دور به سیستم های محلی است. با دنبال کردن مراحل زیر می توانید این کار را به راحتی انجام دهید.
برای انتقال فایل ها از سرور راه دور به سیستم محلی از طریق SFTP از دستور زیر استفاده کنید:
Syntax - get /path/to/remote/server/file.txt
Example - get /etc/config.txt
اکنون پس از اجرای دستور بالا در اعلان sftp، خواهید دید که فایل در حال کپی شدن در ماشین محلی می باشد. سپس برای دانلود چندین فایل از سرور راه دور، دستور زیر را اجرا کنید:
Syntax - mget /path/to/remote/server/*.txt
Example - mget /etc/*.txt
انتقال فایل ها از سیستم های محلی به سرورهای راه دور
مرحله بعدی در انتقال فایل با استفاده از SFTP، انتقال فایل ها از سیستم های محلی به سرورهای راه دور است.
برای شروع ترمینال فرمان را باز کرده و دستور زیر را اجرا کنید تا فایل را از ماشین محلی به سرور راه دور کپی کنید:
Syntax - get file.txt /path/to/remote/server/directory
Example - get file.txt /etc/config/
اکنون برای انتقال فایل از ماشین محلی به سرور راه دور، از دستور زیر استفاده کنید:
Syntax - put /path/to/local/file/abc.txt /path/to/remote/directory
Example - put /home/user/abc.txt /etc/config
سپس برای انتقال چندین فایل از سرور محلی به سرور راه دور از دستور زیر استفاده کنید:
mput /home/abc/*.txt /etc/config
آذرسیس ارائه دهنده سرور مجازی و سرور اختصاصی با بهترین کیفیت و سخت افزار قدرتمند
نتیجه گیری
در این مقاله آموزش نحوه انتقال فایل با SFTP را بررسی کردیم. همچنین مروری کوتاه بر SFTP و برخی از پیش نیازهای مهمی را که شرکتها باید قبل از راهاندازی این فرآیند رعایت کنند، ارائه کردیم. به طور کلی، انتقال فایل با استفاده از SFTP نقش مهمی در انتقال داده ها در بین چندین منبع داده ایفا می کند و می تواند یک دارایی برای سازمان باشد، از همراهی شما سپاس گذاریم.
سوالات متداول
سرعت انتقال SFTP چقدر است؟
این ورودی جزئیاتی در مورد عواملی که می توانند بر سرعت انتقال SFTP تأثیر بگذارند را ارائه می دهد. سرعت رایج برای انتقال داده های SSH و SFTP حدود 1-1.5 مگابیت بر ثانیه است که توسط سرعت رمزگذاری و چندین لایه کپی و پردازش داده ها (در طول تونل SSH) محدود شده است.
آیا SFTP از طریق اینترنت انتقال فایل را انجام می دهد؟
SFTP (پروتکل انتقال امن فایل) پروتکل انتقال فایل است که امکان انتقال ایمن فایل بین رایانه ها یا از طریق اینترنت را فراهم می کند. این برنامه مبتنی بر FTP است و دارای ویژگی های امنیتی SSH (Secure Shell) می باشد. SFTP فایل ها را با استفاده از SSH و FTP، یک جزء رمزنگاری امنیت اینترنت، انتقال می دهد.