جدول محتوایی

دستور SCP

 

دستور SCP که مخفف secure copy protocol یک پروتکل انتقال فایل شبکه است. که انتقال آسان و ایمن فایل را بین یک سیستم از راه دور (VPS) و یک سیستم لوکال یا دو سیستم از راه دور امکان پذیر می کند. از مکانیسم SSH برای ارائه ویژگی های احراز هویت و رمزگذاری برای اطلاعات و اعتبارنامه های شما استفاده می کند.

ادمین ها از دستور SCP Linux برای ساده کردن فرآیند انتقال دیتا بین سرورهای لینوکس استفاده می کنند زیرا نیازی به ورود به سرور ندارد. همچنین، امنیت بهتری نسبت به پروتکل انتقال فایل (FTP) ارائه می دهد و با استانداردهای شورای امنیت PCI مطابقت دارد.

در این مقاله، نحوه استفاده از دستور های SCP را در یک سیستم از راه دور، مانند VPS، یاد خواهید گرفت. ابتدا دستور اصلی SCP را تجزیه می‌کنیم و مثال‌هایی ارائه می‌کنیم تا به شما در درک بهتر دستورات لینوکس کمک کنیم.

scp iranica


 

سینتکس دستور SCP

سینتکس اصلی دستور SCP برای انجام انتقال فایل بین دو سیستم راه دور به صورت زیر است:

 

scp [other options] [source username @ IP]: / [directory and file name] [destination username @ IP]: / [destination directory]

 

  • [other options] : اصلاح کننده هایی که می توانید به دستور SCP اضافه کنید. ما بعداً به محبوب ترین آنها خواهیم پرداخت.
  • [source username@IP] : نام کاربری و IP دستگاهی که فایل مورد نظر قرار دارد می کند.
  • [directory and file name] : مکان و نام فایل/
  • [destination username @ IP] : نام کاربری و IP سیستم مقصد.
  • [destination directory] : دایرکتوری مقصد که فایل در آن ذخیره خواهد شد.

یک مثال واقعی از دستور SCP:

scp -p [email protected]:/media/scp.png [email protected]:/desktop/destination

اگر در حال کپی کردن به یک لوکال هاست (یا کپی کردن از لوکال هاست) هستید، به آدرس IP و مقصد یا مسیر منبع مانند /desktop/folder_name نیازی ندارید.

[highlight color=”yellow”]توجه: از گزینه -r برای کپی کل دایرکتوری ها استفاده کنید.[/highlight]

 

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

مهم ترین نکته در مورد SCP این است که به شما امکان می دهد فایل ها را بین دو سرور از راه دور یا یک ماشین از راه دور و یک سیستم لوکال انتقال دهید. در بخش های زیر نحوه عملکرد دستورات SCP برای هر نوع انتقال را توضیح می دهیم.

 

[highlight color=”yellow”]صرف نظر از نوع انتقالی که با SCP انجام می دهید، نباید از طریق SSH به سرور راه دور متصل شوید.[/highlight]

 

کپی کردن فایل از یک سرور محلی به یک VPS (سیستم راه دور)

در این مثال، ما یک فایل محلی به نام scp.zip را در یک سرور راه دور (vps) به نام root کپی می کنیم. آدرس IP سرور بعد از نام کاربری آمده است:

scp /users/iranica/desktop/scp.zip [email protected]:/writing/article

اگر تأیید خودکار سرویس گیرنده SSH را تنظیم نکرده باشید، از شما خواسته می شود رمز عبور کاربر VPS را وارد کنید. به این صورت خواهد بود:

[email protected]’s password:
novel3.zip 100% 0 0.0KB / s 00:00

scp iranica

فرض کنید سرور جوری تنظیم شده که به اتصالات SSH با پورتی غیر از پورت پیش‌فرض 22 SSH کار کند. در این حالت، باید آن پورت را با استفاده از گزینه -P مشخص کنید.

scp -P 2322 /users/iranica/desktop/scp.zip [email protected]: / writing / article

 

اگر می‌خواهید نام فایل را نیز در حین عملیات انتقال تغییر دهید، دستور شما به این صورت خواهد بود (اگر از پورت پیش‌فرض استفاده نمی‌کنید، –P و سپس شماره پورت مناسب را اضافه کنید) :

scp /users/iranica/desktop/scp.zip [email protected]:/writing/article/howtoscp.zip

 

برای کپی کردن یک دایرکتوری با چندین فایل یا زیرشاخه از گزینه –r و به دنبال آن همان خط فرمان را استفاده کنید:

scp -r /users/Hostinger/desktop [email protected]:/writing/article

 

 

انتقال فایل از VPS به یک ماشین محلی

این بار میخواهیم، فایل scp.zip را از همان میزبان راه دور در رایانه محلی خود کپی می کنیم:

scp [email protected]:/writing/articles/SCP.zip Users/Hostinger/Desktop

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

 

 

انتقال ایمن یک فایل بین دو VPS

برای کپی کردن فایل ها از یک سرور به سرور دیگر، پس از اجرای دستور زیر در ترمینال خود، باید رمز عبور هر دو را وارد کنید:

scp [email protected]:/writing/article/scp.zip [email protected]:/publishing

دستور بالا فایل منبع /writing/article/scp.zip را از میزبان اول به میزبان دوم کپی می کند. برای کپی پوشه ها از گزینه -r استفاده میکنیم و مسیر پوشه را به جای فایل داخل آن مشخص میکنیم.

در شرایط عادی، فایل مستقیماً از اولین سرور راه دور به سرور دوم می رود. با این حال، اگر می خواهید عملیات را از طریق دستگاه خود تغییر مسیر دهید، گزینه -3 را مانند دستور زیر اضافه کنید:

scp -3 [email protected]:/writing/article/scp.zip [email protected]:/publishing

 

نتیجه

پروتکل SCP انتقال فایل ها را بین چندین سرور در یک شبکه آسان تر می کند. همچنین به شما امکان می دهد بدون نیاز به ورود از طریق یک اتصال رمزگذاری شده، فایل ها را از یک سرور راه دور به سرور دیگر کپی کنید.

امیدواریم این مقاله به شما در درک نحوه عملکرد دستور SCP و نحوه استفاده صحیح از آن در سرورهای لینوکس کمک کرده باشد.

 

1رای - امتیاز 5 ممنون از امتیازی که دادید..!

دسته بندی شده در: