هر زمان که با رایانه یا هر وسیله الکترونیکی دارای ظرفیت ذخیره سازی کار می کنید، ممکن است لازم باشد اطلاعات و فایل ها را به روش های مختلف توزیع یا به اشتراک بگذارید. برخی از رایج‌ترین فایل‌ها جهت اشتراک گذاری فایل‌های صوتی، تصاویر، فیلم‌ها، فایل‌های PDF یا هر شکلی از اسناد مانند word هستند. بیشتر اوقات، اطلاعاتی که به اشتراک گذاشته می شود خصوصی یا محرمانه است، به این معنی که برای یک فرد خاص یا گروهی از افراد در نظر گرفته شده است، بنابراین محافظت از آن در برابر دسترسی دیگر افراد ضروری است. اینجاست که SCP به کمک ما می آید.

SCP چیست ؟

scp

وقتی صحبت از به اشتراک گذاری داده ها در سیستم عامل هایی مانند لینوکس می شود، دستورات متعددی وجود دارد که می توانید برای به اشتراک گذاری اطلاعات انتخاب کنید. دستور scp ( مخفف Secure Copy ) در سیستم لینوکس برای کپی فایل(ها) بین سرورها به روشی امن استفاده می شود. دستور SCP امکان انتقال امن فایل ها را بین سیستم محلی و سرور لینوکس یا بین دو میزبان راه دور فراهم می کند. این ابزار بر اساس پروتکل ssh نوشته شده و کار میکند. SCP هنگام کپی کردن فایل ها، با رمزگذاری فایل ها و رمزهای عبور، از داده های شما محافظت می کند. بنابراین، حتی اگر ترافیک رهگیری شود، اطلاعات همچنان ایمن هستند. SCP به دلیل سادگی، امنیت و در دسترس بودن در همه جا محبوب و شناخته شده است.

چه زمانی باید از SCP استفاده کنیم ؟

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

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

نحوه کار با SCP

بصورت کلی، ساختار دستور scp همچون کد زیر می باشد.

scp [option] [user_name@source_host:path/to/source/file] [user_name@target_host:target/path]

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

scp /home/zoip/file1.txt root@server:/home/target

به عنوان نمونه، در کامند بالا ما یک فایل با نام file1.txt را از دایرکتوری یوزر zoip به سروری با هاست نیم فرضی server و دایرکتوری /home/target با یوزر روت منتقل می کنیم. در ادامه جزئیات بیشتری را خدمت شما عرض خواهیم کرد.

آپشن های scp

در قسمت آپشن ها که پس از کلمه scp میبایستی وارد شود، موارد زیر را داریم که از مشهورترین ها میباشند و در اکثر اوقات مورد نیاز هستند.

P : همانطور که گفته شد، پروتکل کپی امن بر اساس پروتکل ssh کار میکند. گاهی اوقات ممکن است پورت ssh سرور مقصد از مقدار پیشفرض که ۲۲ است تغییر داده شده باشد، در این حالت میبایستی از آپشن -P استفاده کرده و سپس پورت ssh مقصد را اعلام کنید.

p : حفظ زمان دسترسی، زمان تغییر و دیگر حالات فایل اصلی بعد از کپی گرفتن.

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

q : کپی کردن فایل ها بدون نمایش نوار پیشرفت و وضعیت. این آپشن به عنوان حالت سکوت نیز شناخته می شود.

C : فشرده سازی داده ها در حین انتقال.

l : تعیین محدودیت در استفاده از پهنای باند بر اساس Kbit/s.

v : حالت پرحرف. این آپشن باعث می شود scp و ssh پیام های دیباگ را در مورد پیشرفت خود نمایش دهند. این آپشن در اشکال زدایی اتصال، احراز هویت و مشکلات پیکربندی مفید است.

مثال هایی برای استفاده از SCP

حال که ساختار دستور scp را متوجه شدید، وقت آن است تا با مثال های بیشتری آشنا شوید.

scp -r our_directory/ root@ip_or_hostname:/home/zoip/abc/

در کامند بالا ما یک دایرکتوری در سیستم فعلی یا همان محلی با نام our_directory را به سروری با هاست نیم فرضی ip_or_hostname در دایرکتوری /home/zoip/abc/ با یوزرنیم روت کپی کردیم. خروجی کار ما این است که در سرور مقصد در دایرکتوری abc یک دایرکتوری با نام our_directory ایجاد شده و محتویات آن کپی می شود.

scp root@server.ovh:/home/ovh/simple/file1.sh root@server2.ovh:/home/ovh/simple/

کامند بالا نمونه ای برای انتقال فایل بین دو سرور است. ابتدا به سرور server.ovh متصل شده و فایل file1.sh را کپی میکنیم. سپس به سرور server2.ovh متصل شده و آن را paste می کنیم. به همین راحتی می توانیم هر فایلی از هر جایی به جایی دیگر کپی کنیم.

جمع بندی

دستور SCP (کپی امن) در لینوکس یک راه ساده و امن برای کپی کردن فایل ها از سیستم محلی به سیستم راه دور و از سیستم راه دور به سیستم محلی است. اگر در مورد احراز هویت صحبت کنیم، از همان احراز هویت SSH استفاده می کند و همچنین از قبل در سیستم ما نصب شده است. دستور SCP به طور گسترده در محیط لینوکس ما استفاده می شود و همچنین آپشن های زیادی از جمله p ، P و r دارد. با کمک توضیحات و مثال هایی که در بالا توضیح داده شد، می توانید به راحتی از دستور SCP در لینوکس استفاده کنید. امیدواریم این مقاله نیز برای شما مفید واقع شده باشد.