با سلام خدمت دوستان . امروز در مورد یکی از قابلیت های ssh صحبت خواهیم کرد که شاید کمتر دیده شده باشه و کمتر ازش استفاده بشه . معمولا برای دانلود و یا آپلود اطلاعات یک ftp سرور در سرور خودمون راه اندازی می کنیم و فایل های خودمون رو به سرور منتقل می کنیم اما اگر ssh بر روی سرور شما نصب باشد دیگه نیازی به استفاده از ftp نیست مخصوصا که استفاده از این روش و ssh ایمن تر هم است .
برای این منظور از scp استفاده می کنیم که در ادامه به بررسی حالات مختلف از آن می پردازیم .
1. برای دانلود یک فایل از روی سرور به شکل زیر عمل می کنیم :
elab@ubuntu:~$ scp [email protected]:/root/files/iman/info.txt /home/elab/Downloads
توجه داشته باشید که آدرس اول محل فایلی که قصد دانلود آن را داریم در سرور مشخص می کند .
هم چنین آدرس دوم محل دانلود شدن فایل info.txt را در سیستم خود مشخص می کند .
2. در صورتی که بخواهیم فایل info.txt در مثال بالا در دایرکتوری جاری ( که در آن قرار داریم ) دانلود شود , به شکل زیر عمل می کنیم :
elab@ubuntu:~/Downloads$ scp [email protected]:/root/files/iman/info.txt .
3. می توان به جای وارد کردن آدرس کامل فایل در سرور , آن را از home directory یوزر متصل شده مشخص کرد . به عنوان مثال من قصد دانلود فایل video.zip را از home directory یوزر root دارم . پس می توانم به جای وارد کردن آدرس کامل به شکل زیر عمل کنم :
elab@ubuntu:~$ scp [email protected]:video.zip .
4. اما زمانی پیش می آید که می خواهیم یک دایرکتوری را با تمام زیر شاخه هایش دانلود کنیم . برای این منظور به شکل زیر عمل می کنیم :
elab@ubuntu:~$ scp -r [email protected]:files oslearn/
5. اما برای آپلود فایل و یا فایل ها و یا حتی دایرکتوری به داخل سرور به شکل زیر عمل می کنیم . به عنوان مثال قصد آپلود فایل username.txt را به home directory یوزر root داریم . پس :
elab@ubuntu:~$ scp username.txt [email protected]:~
6. طبیعتا اگر دو یا چند فایل برای آپلود داشته باشیم به شکل زیر عمل می کنیم :
elab@ubuntu:~$ scp username.txt password.txt [email protected]:~
7. همانند قسمت های قبلی , اگر قسمت آپلود یک دایرکتوری را داشته باشیم از سویچ r- به شکل زیر عمل می کنیم :
elab@ubuntu:~$ scp -r data/ [email protected]:/var/
8. پورت پیش فرض 22 می باشد اما اگر پورت پیش فرض ssh را تغییر داده اید , لازم است که آن را به شکل زیر لحاظ کنید . به عنوان مثال در همان دستور قبلی :
elab@ubuntu:~$ scp -P 2323 -r data/ [email protected]:/var/
9. به صورت پیش فرض از DES برای رمزنگاری فایل های ارسالی استفاده می شود اما می توان با استفاده از سویچ c- آن را تغییر داد . به عنوان مثال از blowfish استفاده کرد تا نقل و انتقالات با سرعت بالاتری صورت گیرد و در کل Performance کار بالاتر رود .
elab@ubuntu:~$ scp -c blowfish [email protected]:/root/files/iman/info.txt /home/elab/Downloads
10. یکی دیگر از مواردی که باعث افزایش Performance می شود , استفاده از سویچ C- می باشد . در صورت استفاده از این سویچ Compression در نقل و انتقالات داده فعال می شود و طبیعتا اثر مثبت خود را بر روی کار خواهد گذاشت :
elab@ubuntu:~$ scp -c blowfish -C [email protected]:video.zip .
11. در آخر پیشنهاد می شود man page این برنامه را بخوانید :
elab@ubuntu:~$ man scp
موفق و موید باشید .
منبع : او اس لرن دات آی آر | http://OSLearn.ir
نویسنده : E2MA3N