وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش استفاده از دستور SFTP برای انتقال فایل ها

0 0
زمان لازم برای مطالعه: 4 دقیقه



SFTP (پروتکل انتقال فایل SSH) یک پروتکل فایل امن برای دسترسی، مدیریت و انتقال فایل ها از طریق یک اتصال SSH رمزگذاری شده است.

در مقایسه با پروتکل سنتی FTP، SFTP همان عملکرد اصلی را ارائه می دهد در حالی که به طور قابل توجهی ایمن تر و پیکربندی آسان تر است.

برخلاف SCP که فقط از انتقال فایل پشتیبانی می کند، SFTP از طیف کاملی از عملیات فایل پشتیبانی می کند روی فایل های راه دور، از جمله از سرگیری انتقال های قطع شده.

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

پیش نیازها

برای آپلود یا تغییر فایل ها از طریق SFTP، به مجوز نوشتن نیاز دارید روی سیستم از راه دور

برای نقل و انتقالات بزرگ، توصیه می شود که اجرا شود sftp دستور داخل a screen
یا tmux
جلسه برای جلوگیری از وقفه

دایرکتوری که از آن اجرا می کنید sftp دستور، دایرکتوری کاری محلی شما می شود.

SFTP را با FTPS اشتباه نگیرید. هر دو پروتکل در خدمت یک هدف هستند. با این حال، FTPS مخفف FTP Secure است و پسوند پروتکل استاندارد FTP است که رمزگذاری TLS/SSL را اضافه می کند.

اتصال به سرور از راه دور

SFTP کار می کند روی یک مدل مشتری-سرور این زیرسیستم SSH است و از تمام روش های احراز هویت SSH پشتیبانی می کند.

برای اتصال به یک سیستم از راه دور، اجرا کنید sftp دستور به دنبال نام کاربری سرور راه دور و آدرس IP یا نام دامنه:

sftp remote_username@server_ip_or_hostname

اگر در حال اتصال به host با استفاده از احراز هویت رمز عبور، از شما خواسته می شود که رمز عبور کاربر را وارد کنید.

پس از احراز هویت، به شما نمایش داده می شود sftp درخواست کنید، و می توانید تعامل با سرور راه دور را شروع کنید:

Connected to remote_username@server_ip_or_hostname.
sftp>

اگر سرور SSH راه دور گوش کند روی یک پورت غیر استاندارد (به عنوان مثال، 2222)، استفاده کنید -P گزینه ای برای تعیین پورت:

sftp -P 2222 remote_username@server_ip_or_hostname

دستورات اولیه SFTP

اکثر دستورات SFTP مشابه یا یکسان با دستورات پوسته لینوکس هستند.

برای دریافت لیستی از تمام دستورات SFTP موجود، تایپ کنید help، یا ?.

help

خروجی شامل یک لیست طولانی از تمام دستورات موجود، از جمله شرح کوتاهی از هر دستور است:

Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
...
...
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

هنگامی که به سرور راه دور وارد می شوید، دایرکتوری کاری فعلی شما دایرکتوری اصلی کاربر راه دور است. می توانید با تایپ کردن آن را بررسی کنید:

pwd
Remote working directory: /home/remote_username

برای فهرست کردن فایل‌ها و فهرست‌های راه دور، از ls دستور:

ls

برای رفتن به دایرکتوری دیگر، از cd فرمان به عنوان مثال، برای تغییر به /tmp دایرکتوری، شما باید تایپ کنید:

cd /tmp

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

پیشنهاد می‌کنیم بخوانید:  روش نصب جاوا بر روی CentOS 8

پوسته SFTP همچنین دستوراتی را برای ناوبری محلی، اطلاعات و مدیریت فایل ارائه می کند. دستورات محلی با حرف پیشوند هستند l.

به عنوان مثال، به print دایرکتوری کاری محلی، باید تایپ کنید:

lpwd
Local working directory: /home/local_username

برای فهرست کردن فایل های محلی:

lls

دانلود فایل ها

برای دانلود یک فایل از سرور راه دور، از get دستور:

get filename.zip

خروجی باید چیزی شبیه به این باشد:

Fetching /home/remote_username/filename.zip to filename.zip
/home/remote_username/filename.zip                           100%   24MB   1.8MB/s   00:13

هنگام دانلود فایل با sftp، فایل ها در دایرکتوری که از آن تایپ کرده اید دانلود می شوند sftp فرمان

اگر می خواهید فایل دانلود شده را با نام دیگری ذخیره کنید، نام جدید را به عنوان آرگومان دوم مشخص کنید:

get filename.zip local_filename.zip

برای دانلود دایرکتوری از سیستم راه دور، از بازگشتی استفاده کنید -r گزینه:

get -r remote_directory

اگر انتقال فایل با شکست مواجه شد یا قطع شد، می‌توانید با استفاده از آن آن را از سر بگیرید reget فرمان

نحو از reget همان نحو است get:

reget filename.zip

آپلود فایل ها

برای آپلود یک فایل از ماشین محلی به سرور SFTP راه دور، از put دستور:

put filename.zip

خروجی باید چیزی شبیه به این باشد:

Uploading filename.zip to /home/remote_username/filename.zip
filename.zip                          100%   12MB   1.7MB/s   00:06

اگر فایلی که می خواهید آپلود کنید در دایرکتوری کاری فعلی شما قرار ندارد، از مسیر مطلق فایل استفاده کنید.

هنگام کار با put می توانید از گزینه های مشابهی که در دسترس هستند استفاده کنید get فرمان

برای آپلود یک فهرست محلی، باید تایپ کنید:

put -r locale_directory

برای از سرگیری آپلود قطع شده:

reput filename.zip

دستکاری فایل با SFTP

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

پیشنهاد می‌کنیم بخوانید:  روش تنظیم کلیدهای SSH روی CentOS 8

SFTP به شما اجازه می دهد تا برخی از دستورات دستکاری فایل را انجام دهید. در زیر چند نمونه از روش استفاده از پوسته SFTP آورده شده است:

  • اطلاعاتی در مورد استفاده از دیسک سیستم راه دور دریافت کنید:

    df
            Size         Used        Avail       (root)    %Capacity
        20616252      1548776     18002580     19067476           7%
  • یک دایرکتوری جدید ایجاد کنید روی سرور راه دور:

    mkdir directory_name
  • تغییر نام یک فایل روی سرور راه دور:

    rename file_name new_file_name
  • یک فایل را حذف کنید روی سرور راه دور:

    rm file_name
  • یک دایرکتوری را حذف کنید روی سرور راه دور:

    rmdir directory_name
  • مجوزهای یک فایل را تغییر دهید روی سیستم از راه دور:

    chmod 644 file_name
  • تغییر مالک یک فایل روی سیستم از راه دور:

    chown user_id file_name

    شما باید شناسه کاربری را به chown
    و chgrp
    دستورات

  • مالک گروه یک فایل راه دور را با:

    chgrp group_id file_name

قطع شدن

پس از اتمام کار، اتصال را با تایپ کردن ببندید bye یا quit.

bye
quit

نکاتی برای استفاده مکرر

  • یک احراز هویت مبتنی بر کلید SSH تنظیم کنید و بدون وارد کردن رمز عبور به سرورهای لینوکس خود متصل شوید.

  • اگر به طور منظم به همان هاست متصل می شوید، گردش کار خود را با تعریف همه اتصالات خود در فایل پیکربندی SSH ساده کنید.

    ~/.ssh/config
    Host myserver_name
        HostName 10.10.0.2
        User leah
        Port 2222
    

نتیجه گیری

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

اگر در حال کار هستید روی یک ماشین دسکتاپ، می توانید از یک کلاینت GUI SFTP مانند استفاده کنید WinSCP
یا FileZilla
برای اتصال به سرور راه دور و دانلود یا آپلود فایل ها.

در صورت داشتن هر گونه سوال یا بازخورد می توانید نظر خود را بنویسید.

sftp ssh
terminal
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1404-11-20 15:55:07

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید