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

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

  • از یک سیستم از راه دور به سیستم محلی شما.
  • بین دو سیستم از راه دور از سیستم محلی شما.
  • از سیستم محلی شما گرفته تا یک سیستم از راه دور.

هنگام انتقال داده ها با scp، پرونده ها و رمز عبور، رمزگذاری می شوند، به طوری که هر کسی که از ترافیک ها بازدید می کند، نسبت به اطلاعات شما حساس نمی شود.

در این آموزش نحوه استفاده از دستور scp را از طریق مثال های عملی و توضیحات مفصل در مورد رایج ترین گزینه های scp به شما نشان خواهیم داد.

نحو فرماندهی SCP

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

نحو دستور scp به شکل زیر می باشد:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • [OPTION] – گزینه هایی از SCP مانند: رمزگذاری، پیکربندی ssh، پورت ssh، حد، نسخه کپی بازگشتی و غیره.
  • .پرونده منبع – [user@]SRC_HOST:]file1
  • .پرونده مقصد – [user@]DEST_HOST:]file2

فایلهای محلی باید با استفاده از یک مسیر مطلق یا نسبی مشخص شوند در حالی که نام پرونده های راه دور باید مشخصات کاربر و میزبان را شامل شود.

scp تعدادی گزینه را کنترل می کند که هر جنبه ای از رفتار آن می تواند باشد. گزینه های پرکاربرد عبارتند از:

P – درگاه میزبان ssh از راه دور را مشخص می کند.

p – بار اصلاح و دسترسی پرونده ها را حفظ می کند.

q – اگر می خواهید پیام پیشرفت و پیام های غیر خطا را سرکوب کنید، از این گزینه استفاده کنید.

C – این گزینه scp را مجبور به فشرده سازی داده های ارسال شده به دستگاه مقصد می کند.

r – این گزینه به scp می گوید که فهرستها را به صورت بازگشتی کپی کنید.

نکاتی که لازم است قبل از شروع به آن توجه کنید:

  • دستور scp برای انتقال داده به ssh متکی است، بنابراین برای تأیید اعتبار در سیستمهای از راه دور، به کلید یا رمز عبور ssh نیاز دارد.
  • دو نقطه (:) به این منظور است که چگونه scp بین مکان های محلی و راه دور تمایز قائل می شود و این دو را مشخص می کند.
  • برای این که بتوانید فایلها را کپی کنید حداقل باید مجوزهای خواندن را در پرونده منبع داشته باشید و مجوز را روی سیستم هدف بنویسید.
  • مراقب باشید هنگام کپی کردن پرونده هایی که در هر دو سیستم نام و مکان یکسانی دارند، scp بدون هشدار به پرونده ها، آن ها را رونویسی می کند.
  • هنگام انتقال پرونده های دارای حجک بالا، توصیه می شود دستور scp را درون یک صفحه نمایش یا جلسه tmux اجرا کنید.

کپی پرونده ها و دایرکتوری ها بین دو سیستم با scp

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

برای کپی کردن پرونده از محلی به یک سیستم از راه دور دستور زیر را اجرا کنید:

scp file.txt remote_username@10.10.0.2:/remote/directory
  • file.txt پرونده ای که داراری پسوند txt. می باشد، نام فایلی است که می خواهیم آن را از راه دور کپی کنیم،
  • remote_username کاربر روی سرور از راه دور است،
  • 10.10.0.2 آدرس IP سرور است.
  • remote/directory مسیر دایرکتوری است که می خواهید پرونده را کپی کنید. اگر یک دایرکتوری از راه دور مشخص نکنید ، پرونده در فهرست خانه کاربر از راه دور کپی می شود.
  • از شما خواسته می شود که رمز ورود کاربر را وارد کنید ، و روند انتقال شروع می شود.

remote_username@10.10.0.2's password:
file.txt 100% 0 0.0KB/s 00:00

حذف نام پرونده از محل مقصد باعث می شود که پرونده را با نام اصلی کپی کند. اگر می خواهید پرونده را با نام دیگری ذخیره کنید، باید نام پرونده جدید را مشخص کنید:

scp file.txt remote_username@10.10.0.2:/remote/directory/newfilename.txt

اگر SSH روی میزبان از راه دور درگاه دیگری به غیر از پیش فرض 22 را گوش می دهد، می توانید پورت را با استفاده از آرگومان -P مشخص کنید:

scp -P 2322 file.txt remote_username@10.10.0.2:/remote/directory

دستور کپی یک دایرکتوری شبیه به هنگام کپی کردن فایلها است. تنها تفاوت این است که برای بازگشتی باید از پرچم -r استفاده کنید.

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

scp -r /local/directory remote_username@10.10.0.2:/remote/directory

با استفاده از scp omanand، یک فایل از راه دور را در یک سیستم محلی کپی کنید.

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

به عنوان مثال برای کپی کردن پرونده ای به نام file.text  از سرور راه دور با 10.10.0.2  دستور زیر را اجرا کنید:

scp remote_username@10.10.0.2:/remote/file.txt /local/directory

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

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

برخلاف rsync، هنگام استفاده از scp نیازی به ورود به یکی از سرورها نیستید تا بتوانید پرونده ها را از یک دستگاه دیگر از راه دور انتقال دهید.

دستور زیر پرونده /files/file.txt را از میزبان از راه دور host1.com در دایرکتوری / پرونده های موجود در /files از راه دور کپی می کند در host2.com.

scp user1@host1.com:/files/file.txt user2@host2.com:/files

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

برای مسیریابی ترافیک از طریق دستگاهی که فرمان صادر شده است، از گزینه -3 استفاده کنید:

scp -3 user1@host1.com:/files/file.txt user2@host2.com:/files

نتیجه گیری

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

همچنین ممکن است بخواهید احراز هویت مبتنی بر کلید SSH را تنظیم کرده و بدون وارد کردن گذرواژه به سرورهای لینوکس خود متصل شوید.

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

منتشر شده توسط
samira.mohammadpur_server