SCP مخفف پروتکل کپی امن است. استفاده از فرمان SCP هنگامی مهم است که تصمیم به کپی کردن فایلها و دایرکتوریها بین دو مکان میگیرید. SCP یک ابزار خط فرمان است که به شما کمک میکند امنیت فایلهایتان را تضمین کند. با استفاده از SCP، میتوانید محتوا مورد نظر خود را بین سیستمهای لینوکس در شبکه کپی کنید. زیرا از اتصال SSH برای رمزنگاری فایلها و رمز عبور استفاده میکند، حتی اگر ترافیک به دست آمده باشد، اطلاعات شما رمزنگاری و محافظت میشوند. همچنین، استفاده از SCP در لینوکس، مک، و ویندوز (با استفاده از WinSCP) ممکن است.
در این مقاله، خواهید آموخت که چگونه فرمان SCP را در لینوکس برای کپی کردن یک فایل استفاده کنید.، داشتن یک سرور لینوکس اولین گام مورد نیاز برای استفاده از SCP است، اما قبل از خرید یک سرور مجازی لینوکس، برنامههای ارزان و فوقالعاده ما را بررسی کنید.
SCP چیست و برای چه کارهایی استفاده می شود ؟
SCP هنگام کپی کردن فایلها بین دو کامپیوتر با اتصال SSH، امنیت فایلها را تضمین میکند. برای جلوگیری از نظارت توسط افراد بر ترافیک، هم فایلها و رمز عبور در حین انتقال دادهها رمزنگاری میشوند. با اتصال رمزنگاری شده، SCP یک ابزار خط فرمان امنترین راه برای انجام کپی در لینوکس است. پیش از این، درباره پورت SSH آموختید. این کمک میکند تا درک کنید که SCP چگونه با اتصال رمزنگاری شده (SSH) متصل میشود و پورت ۲۲ به صورت پیش فرض استفاده میکند.
برای کپی کردن یک فایل یا دایرکتوری امن، در سه situation مختلف میتوانید از SCP استفاده کنید:
از: سیستم محلی / میزبان / کامپیوتر. به: سیستم/میزبان/کامپیوتر دور
کپی کردن فایل از: کامپیوتر/ سرور دور. به: کامپیوتر/ سرور دیگر دور
از: سیستم دور / میزبان / کامپیوتر. به: سیستم محلی / میزبان / کامپیوتر
نکته: اگر اتصال اینترنت شما کند است، گزینه دوم را انتخاب کنید زیرا ترافیک مستقیماً از یک سرور به سرور دیگر بدون عبور از سیستم شما میرود.
پیشنیازهای استفاده از فرمان SCP در لینوکس
از آنجا که باید به IP های مختلف اشاره کنیم، فرض میکنیم که IP سرور اول IP A، IP سرور دوم IP B و IP سرور سوم IP C است. هنگام اجرای دستورات، آنها را با IP های خود جایگزین کنید.
برای استفاده موفقیتآمیز از ابزار فرمان SCP لینوکس، گزینههای زیر را در نظر بگیرید.
ورود امن به سیستم سرور
امتیازات مدیریتی در هر دو سیستم کلاینت و سرور (اختیاری)
نحوه کامل فرمان SCP
با این مقاله همراه شوید تا ببینید چگونه میتوانید از فرمان scp در لینوکس با مفیدترین و کاربردیترین مثالها استفاده کنید. در این قسمت، نحوه فرمان SCP و تمام توضیحات مورد نیاز هر فرمان بررسی خواهد شد.
از فرمان scp استفاده میکنید تا به سیستم عامل بگویید فایل/فایلها را از طریق اتصال امن شل کپی کند. (اتصال ssh)
ابتدا بیایید نحوه استفاده از فرمان scp را ببینیم.
scp [option] [user_name@source_host:path/to/source/file] [user_name@target_host:target/path]
باید توضیح دهیم که شما آزاد هستید هم نام کاربری و هم میزبان را در مبدأ (user_name) و مقصد (target/path) مشخص کنید. اگر نام کاربری و رمز عبور را تعیین نکنید، فرمان scp یک فایل محلی را به یک مقصد محلی کپی خواهد کرد.
برای نشان دادن معنای هر بخش اصلی آن:
گزینه: رمزنگاری، پیکربندی ssh، پورت ssh، محدودیت و کپی بازگشتی که گزینههای scp هستند را شامل میشود.
نام کاربری: همانطور که فایل/فایلهایی را که باید کپی شوند مشخص میکنید، به آن مبدأ گفته میشود. اطلاعات میزبان دور یا کاربری که مالک فایل/فایلها در آن میزبان دور است را شامل میشود. اگر نام کاربری را مشخص نکنید، به طور پیشفرض به کاربر فعلی در ماشین تبدیل میشود. و اگر میزبان را مشخص نکنید، با استفاده از هر مسیر داده شده، به صورت محلی به دنبال فایل خواهد گشت.
مسیر/به/مبدأ: جایی که مسیری را که ترجیح میدهید فایلها به آنجا کپی شوند مشخص میکنید. واضح است که این مقصد شما است. اطلاعات میزبان دور یا کاربری در آن میزبان را شامل میشود. مانند نام کاربری، اگر کاربر را مشخص نکنید، به طور پیشفرض به نام کاربری فعلی تبدیل میشود. بنابراین، با استفاده از آن کاربر به سرور دور وارد خواهد شد. و اگر میزبان را مشخص نکنید، فایلها را به صورت محلی کپی خواهد کرد. باید فایلهای محلی را با مسیر مطلق یا نسبی مشخص کنید. به خاطر داشته باشید که چون فرمان scp قبل از نوشتن، مکان مقصد را بررسی نمیکند، تمام فایلهای مقصد با همان نام بدون اطلاع رسانی بازنویسی خواهند شد.
چگونگی استفاده از فرمان SCP در لینوکس؟
پیش از استفاده از فرمان SCP، گزینههای زیر را در نظر بگیرید.
حساب با دسترسی خواندن (اجازه) به فایل/فایلهایی که میخواهید کپی کنید در سیستم مبدأ.
نام کاربری و مشخصات میزبان را مشخص کنید.
استفاده از نقطه (:) برای نشان دادن اینکه چگونه SCP بین مکانهای محلی و دور متمایز میشود.
پاسخ یا کلید ssh را برای تأیید در سیستم دور فراهم کنید زیرا فرمان SCP برای انتقال دادهها بر اساس ssh است. برای این منظور، به مقاله تنظیم کلید ssh در سرور لینوکس مراجعه کنید.
حساب با دسترسی نوشتن (اجازه) به دایرکتوری که فایل/فایلها در آن ذخیره میشوند در سیستم مقصد.
فرمان SCP را در یک_Session screen یا tmux در هر زمان که فایلهای بزرگ را کپی میکنید اجرا کنید.
چگونگی سفارشی کردن فرمان SCP در لینوکس.
گزینههای فرمان SCP وجود دارد که به شما امکان میدهد فرایند را با سفارشی کردن آن تسریع کنید. این گزینهها را به عنوان ویژگیها بعد از فرمان SCP اضافه کنید.
- -o ssh_option – گزینههای ssh را در فرمت ssh_config تنظیم میکند.
- -S program – برنامه مشخصی برای اتصال رمزنگاری استفاده میکند.
- -i file – فایل مشخصی را برای تأیید با کلید عمومی استفاده میکند.
- -P por – پورت مشخصی را برای اتصال استفاده میکند. اگر مشخص نشده باشد، SCP پورت ۲۲ را استفاده میکند.
- -l limit – محدودیت باندویت (حداکثر در کیلوبیت/س) را مشخص میکند.
- -F file – فایل مشخصی را برای پیکربندی جایگزین ssh استفاده میکند.
- -D debug_level – سطح DEBUG را تنظیم میکند (۱، ۲، ۳ یا ۹۹)
- -c cipher – رمزنگاری دادهها را انتخاب میکند. اگر مشخص نشده باشد، SCP رمزنگاری پیش فرض را استفاده میکند – ‘AnyStdCipher’.
- -b buffer_size – اندازه BUFFER استفاده شده برای انتقال دادهها را مشخص میکند. اگر مشخص نشده باشد، استفاده از پیش فرض – ۳۲۷۶۸ بایت است.
- -B – در حالت.batch، تمام سؤالات برای ورودی کاربر را غیرفعال میکند.
- -C – فشردهسازی را فعال میکند.
- -d – فایل را فقط اگر دایرکتوری مقصدalready وجود دارد کپی میکند.
- -h – لیست گزینههای فرمان را نمایش میدهد.
- -q – SCP را در حالت آرام استفاده میکند
- -Q – آمار انتقال فایل را نمایش نمیدهد.
- -r – کپی بازگشتی را انجام میدهد.
- -u – فایل مبدأ را پس از تکمیل کپی حذف میکند.
- -v – حالت verbose را فعال میکند، که سطح DEBUG را به ۲ تنظیم میکند.
- -۱ – پروتکل ۱ را استفاده میکند.
- -۲ – پروتکل ۲ را استفاده میکند.
- -۴ – فقط آدرسهای IPv4 را استفاده میکند.
- -۶ – فقط آدرسهای IPv6 را استفاده میکند.
۱۳ مثال فرمان SCP لینوکس
اعتقاد دارم که توضیح هرگز کامل نخواهد بود بدون مثال. با ما در این راهنمای همراه باشید تا برخی از مثالهای فرمان SCP را بررسی کنید تا به یک متخصص در استفاده از ابزار SCP Command تبدیل شوید.
۱- استفاده از فرمان SCP برای کپی کردن یک فایل از سرور دور به میزبان محلی
فرمان زیر را اجرا کنید تا یک فایل از میزبان دور به میزبان محلی کپی کنید.
نگاهی به اطلاعات زیر ببرید:
root@IP A – محل فعلی فایل در سرور دور، همراه با نام کاربری و آدرس IP.
/home/remote_dir/sample_example.txt – نام فایل مورد نظر و محل آن را مشخص میکند.
home/Desktop – محل ذخیره فایل کپی شده.
۲- استفاده از فرمان SCP برای کپی کردن فایل بین دو سرور دور
نیازی به ورود (ssh) به یکی از سرورها نیست هنگامی که فایل/فایلها را از یک سرور دور به سرور دور دیگر کپی میکنید.
scp root@IP A:/home/remote_dir/sample_example.txt username@IP B:home/Desktop
نگاهی به اطلاعات فرمان بالا ببرید:
IP A
– نام کاربری و محل فایل کپی شده.
username@IP B– نام کاربری و آدرس IP سرور دور، که میخواهیم فایل را کپی کنیم.
home/Desktop – محل دیگر سرور که فایل کپی شده باید ذخیره شود.
۳- استفاده از فرمان SCP برای کپی کردن یک فایل محلی به یک سرور دور
در اینجا، میتوانید مثالی از کپی کردن یک فایل تک از میزبان محلی به یک سرور دور را ببینید.
scp Desktop/sample_example.txt root@IP C:/home/remote_dir
فرمان شامل موارد زیر است:
Desktop/sample_example.txt – نام و محل فایل کپی شده.
root@IP c – آدرس IP و نام کاربری سرور دور.
/home/remote_dir – محل ذخیره فایل کپی شده.
۴- استفاده از فرمان SCP برای کپی کردن یک پوشه میزبان محلی به سرور دور به صورت بازگشتی
SCP قادر به کپی کردن ایمن دایرکتوریها به یا از سرورهای دور است. میتوانید از فرمان زیر برای کپی کردن یک دایرکتوری به یک سرور دور به صورت بازگشتی استفاده کنید.
scp -r example root@IP A:/home/remote_dir
اطلاعات زیر را شامل میشود:
-r – گزینه کپی کردن پوشه به صورت بازگشتی.
example – نام پوشهای که از سرور محلی کپی میشود.
root@IP A – آدرس IP و نام کاربری سرور دور که پوشه دریافت میکند.
/home/remote_dir – مسیری در سرور دور که پوشه کپی شده باید در آن نگهداری شود.
۵- کپی چند فایل با فرمان SCP لینوکس
با استفاده از SCP میتوانید چند فایل را در یک فرمان کپی کنید. همانطور که در زیر میبینید، امکان کپی کردن دو فایل از میزبان محلی به سرور دور وجود دارد.
scp example/sample1.txt example/sample2.txt root@IP A:/home/remote_dir
فرمان شامل موارد زیر است:
example/sample1.txt – نام و محل اولین فایل کپی شده.
example/sample2.txt – نام و محل دومین فایل کپی شده.
root@IP A – آدرس IP و نام کاربری سرور دور که فایلها را دریافت میکند.
/home/remote_dir – محلی در سرور دیگر که فایلهای کپی شده باید در آن نگهداری شوند.
۶- استفاده از فرمان SCP برای کپی کردن فایل با SCP در حالت Verbose
مثال ششم فرمان SCP تنظیم سطح DEBUG را به ۲ و استفاده از scp در حالت verbose با افزودن گزینه -v است. به این ترتیب، چاپ اطلاعات اشکالزدایی در خروجی باعث کمک خوب هنگام مواجهه با مشکل میشود.
همانطور که در مثال زیر میبینید، برای فعال کردن حالت verbose، باید گزینه -v را بعد از scp اضافه کنید.
scp -v Desktop/sample_example.txt root@IP A:/home/remote_dir
۷- کپی کردن فایل با فرمان SCP در حالت Quiet
میتوانید متر پیشرفت و پیامهای غیر خطا را از نمایش در خروجی غیرفعال کنید اگر فرمان scp را در حالت quit اجرا کنید. فقط باید گزینه -q را برای انجام این کار اضافه کنید.
scp -q Desktop/sample_example.txt root@IP c:/home/remote_dir
۸- کپی کردن فایل با SCP با استفاده از رمزنگاری مشخص
در حالی که SCP به طور پیش فرض از AES-128 برای رمزنگاری فایلها استفاده میکند، میتوانید رمزنگاری SCP را که برای رمزنگاری فایل استفاده میشود با استفاده از گزینه -c تغییر دهید. مثال زیر نشان میدهد چگونه میتوانید با تغییر به رمزنگاری ۳des امنیت را افزایش دهید.
scp -c 3des Desktop/sample_example.txt root@IP A:/home/remote_dir
۹- استفاده از فرمان SCP برای کپی کردن فایل و محدود کردن باندویت
فرمان SCP همچنین برای محدود کردن باندویت استفاده میشود اگر پارامتر -l را اضافه کنید. هر زمان که تصمیم به کپی کردن فایلهای بزرگ داشته باشید، آن را مفید خواهید یافت تا مانع از تخلیه باندویت توسط SCP شود.
توجه: هنگامی که میخواهید باندویت را محدود کنید، عدد را به کیلوبیت/ثانیه مشخص کنید.
scp -l 800 Desktop/sample_example.txt root@IP A:/home/remote_dir
۱۰- استفاده از فرمان SCP برای کپی کردن فایل با استفاده از پورت مشخص
SCP به طور پیش فرض از پورت ۲۲ استفاده میکند. در حالی که از یک سیستم دور که برای درخواستهای SSH روی پورت متفاوتی پیکربندی شده است استفاده میکنید، میتوانید از کلید -P برای مشخص کردن پورت استفاده کنید.
مثال زیر به شما کمک میکند ببینید چگونه میتوانید از فرمان SCP برای کپی کردن فایل از محلی به سرور دور استفاده کنید. در اینجا پورت استفاده شده ۲۲۲۲ است.
scp -P 2222 Desktop/sample_example.txt root@IP A:/home/remote_dir
بیایید ببینیم اجزای فرمان بالا چیست:
-P 2222 – از پورت ۲۲۲۲ استفاده کنید.
Desktop/sample_example.txt – محل و نام فایلی که میخواهید کپی کنید.
root@IP A – آدرس IP و نام کاربری سرور دور که فایل را دریافت میکند.
/home/remote_dir – محلی در سرور دیگر که فایل کپی شده باید در آن نگهداری شود.
۱۱- استفاده از فرمان SCP برای کپی کردن فایل با استفاده از IPv4 یا IPv6
اگر SCP را強 کنید، فقط از IPv4 یا IPv6 به نیازهای شما وابسته میشود با افزودن گزینه -۴ یا -۶.
اکنون، به مثال زیر نگاه کنید تا ببینید چگونه میتوانید یک فایل نمونه از یک سرور محلی به یک میزبان دور فقط با استفاده از IPv6 کپی کنید.
scp -6 Desktop/sample_example.txt root@IP A:/home/remote_dir
۱۲- استفاده از فرمان SCP برای کپی کردن فایل با SCP سریعتر
سرعت همیشه مهم است. هنگامی که یک فایل از یک سرور به سرور دیگر انتقال مییابد، میتوانید آن را با افزودن گزینه -C تسریع کنید. این باعث فشردهسازی فایل در حین انتقال میشود. اما نیازی به نگرانی درباره اندازه فایل نیست زیرا فایل به موقع به مقصد خود میرسد و به اندازه معمول خود بازمیگردد.
scp -C Desktop/sample_example.txt root@IP A:/home/remote_dir
۱۳- استفاده از فرمان SCP برای کپی کردن فایل با SCP با حفظ ویژگیهای فایل
فرمان SCP قادر به حفظ ویژگیهای فایل مانند زمانهای تغییر و دسترسی، ردهها و مجوزها است. برای کپی کردن یک فایل با SCP با شرایط ذکر شده، باید گزینه -p را استفاده کنید.
scp -p Desktop/sample_example.txt root@IP A:/home/remote_dir
نتیجه
در این مقاله، به شما آموزش دادیم که فرمان SCP پروتکل کپی امن است و چگونگی استفاده از فرمان SCP لینوکس برای کپی کردن یک فایل امن است. برای درک بهتر و مشاهده راههای استفاده از فرمان SCP، ۱۳ مثال توضیح داده و بحث شد. اگر از FTP استفاده کردهاید، اکنون میدانید که فرمان SCP یک جایگزین ایدهآل برای آن است زیرا FTP به طور پیشفرض ناامن است. همچنین به شما کمک میکند تا یک مجموعه فرمان را برای مدیریت فایلهای مورد نظر بین ماشینهای لینوکس ایجاد کنید.