از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از دستور SCP برای انتقال ایمن فایل ها
سرفصلهای مطلب
SCP (کپی امن) یک است command-line ابزاری که به شما امکان می دهد به طور ایمن فایل ها و دایرکتوری ها را بین میزبان ها از طریق شبکه کپی کنید.
هنگام انتقال داده با scp، هم فایل ها و هم اعتبارنامه های احراز هویت رمزگذاری شده اند و از شنود و شنود داده ها محافظت می کنند. SCP از پروتکل SSH برای احراز هویت و رمزگذاری استفاده می کند.
این راهنما روش استفاده از scp دستور با مثال های عملی و توضیحات مفصل از پرکاربردترین گزینه ها.
SFTPیا
rsyncپروتکل ها
نحو دستور SCP
قبل از پرداختن به روش استفاده از scp دستور، اجازه دهید با بررسی نحو اصلی شروع کنیم.
را scp دستور دستور به شکل زیر است:
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
OPTION– گزینه های scp
مانند رمز، پیکربندی ssh، پورت ssh، محدودیت، کپی بازگشتی و غیره.- “ – .
[user@]SRC_HOST:]file1– مسیر فایل منبع نام کاربر روی ماشین مبدأ و نام میزبان (یا آدرس IP) ماشین مبدأ زمانی که فایل قرار دارد استفاده میشود روی یک دستگاه از راه دور[user@]DEST_HOST:]:file2– مسیر فایل مقصد. نام کاربر روی ماشین مقصد و نام میزبان (یا آدرس IP) ماشین مقصد زمانی که فایل قرار دارد استفاده می شود روی یک دستگاه از راه دور
Local فایل ها را می توان با استفاده از یک مسیر مطلق یا نسبی مشخص کرد، در حالی که نام فایل های راه دور باید شامل یک کاربر و host مشخصات
scp تعدادی گزینه را ارائه می دهد که هر جنبه ای از رفتار آن را کنترل می کند. پرکاربردترین گزینه ها عبارتند از:
-P– ریموت را مشخص می کند host پورت ssh-p– حفظ تغییر فایل و زمان دسترسی.-q– اگر می خواهید پیغام های پیشرفت سنج و پیام های بدون خطا را سرکوب کنید از این گزینه استفاده کنید.-C– این گزینه نیروهایscpبرای فشرده سازی داده ها هنگام ارسال به ماشین مقصد.-r– این گزینه می گویدscpبرای کپی کردن دایرکتوری ها به صورت بازگشتی-3– بین دو هاست راه دور از طریق ماشین محلی کپی کنید.
قبل از شروع
را scp فرمان متکی است روی ssh برای انتقال داده، بنابراین برای احراز هویت به یک کلید ssh یا رمز عبور نیاز دارد روی سیستم های راه دور
روده بزرگ (:) چگونه است scp بین مکان های محلی و دورافتاده تمایز قائل می شود.
برای اینکه بتوانید فایل ها را کپی کنید، باید حداقل مجوز خواندن داشته باشید روی منبع و اجازه نوشتن روی مقصد
هنگام کپی کردن فایل هایی که نام و مکان مشابهی دارند مراقب باشید روی هر دو سیستم؛ scp فایل ها را بدون هشدار بازنویسی می کند.
هنگام انتقال فایل های حجیم، توصیه می شود scp دستور داخل صفحه نمایش یا جلسه tmux.
کپی فایل ها و دایرکتوری ها بین دو سیستم با scp
با scp، می توانید یک فایل یا دایرکتوری را کپی کنید:
- از سیستم محلی شما به یک سیستم راه دور.
- از یک سیستم راه دور تا سیستم محلی شما.
- بین دو سیستم راه دور از سیستم محلی شما.
کپی یک Local فایل به یک سیستم از راه دور با scp فرمان
برای کپی کردن یک فایل از یک سیستم محلی به یک سیستم راه دور، دستور زیر را اجرا کنید:
scp file.txt remote_username@10.10.0.2:/remote/directory
کجا file.txt نام فایلی است که می خواهیم کپی کنیم، remote_username کاربر است روی سرور راه دور، 10.10.0.2 آدرس IP سرور است. را /remote/directory مسیر دایرکتوری است که می خواهید فایل را در آن کپی کنید. اگر دایرکتوری راه دور را مشخص نکنید، فایل در فهرست اصلی کاربر راه دور کپی می شود.
از شما خواسته می شود رمز عبور کاربر و انتقال را وارد کنید process آغاز خواهد شد.
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 روی از راه دور host در حال گوش دادن است روی پورتی غیر از 22 پیش فرض، سپس می توانید پورت را با استفاده از -P استدلال:
scp -P 2322 file.txt remote_username@10.10.0.2:/remote/directory
برای کپی کردن یک دایرکتوری و همه فایلهای آن، کد را فراخوانی کنید scp فرمان با -r flag، که به صورت بازگشتی کل فهرست و محتویات آن را کپی می کند:
scp -r /local/directory remote_username@10.10.0.2:/remote/directory
هنگام استفاده از حروف عام مانند * یا ? برای مطابقت با فایل ها یا دایرکتوری های خاص، برای جلوگیری از گسترش پوسته، باید مسیری را که شامل کاراکترهای عام است در گیومه قرار دهید (" ") یا نقل قول های تکی (' '). در مثال زیر، ما در حال کپی کردن همه موارد هستیم .txt فایل های محلی Projects دایرکتوری به Projects دایرکتوری روی سرور راه دور:
scp "~Projects/*.txt" remote_username@10.10.0.2:/home/user/Projects/
اگر میخواهید فراداده فایل را که از جمله اطلاعات دیگر شامل مالکیت و تاریخ ایجاد آن فایل است، حفظ کنید، -p گزینه به عنوان مثال، برای کپی کردن file.txt در دایرکتوری راه دور و حفظ ابرداده، وارد کنید:
scp -p file.txt remote_username@10.10.0.2:/remote/directory/
یک فایل از راه دور را در a کپی کنید Local سیستم با استفاده از scp فرمان
برای کپی کردن یک فایل از یک کنترل از راه دور به یک سیستم محلی، از مکان راه دور به عنوان منبع و مکان محلی به عنوان مقصد استفاده کنید.
به عنوان مثال، برای کپی کردن یک فایل به نام file.txt از یک سرور راه دور با IP 10.10.0.2، دستور زیر را اجرا کنید:
scp remote_username@10.10.0.2:/remote/file.txt /local/directory
اگر یک ورود بدون رمز عبور SSH به دستگاه راه دور تنظیم نکرده باشید، از شما خواسته می شود رمز عبور کاربر را وارد کنید.
یک فایل بین دو سیستم از راه دور با استفاده از scp فرمان
بر خلاف rsync، هنگام استفاده scp، برای انتقال فایل ها از یک دستگاه راه دور به دستگاه دیگر نیازی به ورود به یکی از سرورها نیست.
دستور زیر فایل را کپی می کند /files/file.txt از راه دور host host1.com به دایرکتوری /files روی از راه دور host host2.com.
scp user1@host1.com:/files/file.txt user2@host2.com:/files
از شما خواسته می شود که رمز عبور هر دو حساب راه دور را وارد کنید. داده ها مستقیماً از یک کنترل از راه دور منتقل می شوند host به دیگری
برای هدایت ترافیک از طریق دستگاه روی که فرمان صادر می شود، از -3 گزینه:
scp -3 user1@host1.com:/files/file.txt user2@host2.com:/files
نکاتی برای استفاده روزمره
-
یک احراز هویت مبتنی بر کلید SSH تنظیم کنید و بدون وارد کردن رمز عبور به سرورهای لینوکس خود متصل شوید.
-
اگر به طور منظم به همان هاست متصل می شوید، گردش کار خود را با تعریف همه اتصالات خود در فایل پیکربندی SSH ساده کنید.
~/.ssh/configHost myserver_name HostName 10.10.0.2 User leah Port 2222
یادداشت مدرن (1404)
جدیدترین نسخه های OpenSSH به طور پیش فرض پروتکل SFTP برای scp. برای اجبار پروتکل SCP قدیمی (گاهی برای سرورهای بسیار قدیمی مورد نیاز است)، از -O پرچم:
scp -O file_name.txt remote_host:/tmp/
نتیجه گیری
اگر به دنبال راهی سریع، قابل اعتماد و ایمن برای کپی کردن فایل ها و دایرکتوری ها بین سیستم های لینوکس خود هستید، scp ابزار مناسبی برای کار است
اگر سوالی دارید، لطفا در زیر نظر دهید.
terminal
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1404-11-10 15:08:07

