تبلیغات
وبلاگ تخصصی لینوکس - انتقال فایل‌ها از طریق scp بدون پسورد!
و هرچیز جالب دیگه ای ;)

انتقال فایل‌ها از طریق scp بدون پسورد!

نویسنده :azam keimasi
تاریخ:چهارشنبه 3 مهر 1392-07:50 ب.ظ

از طریق scp که مخفف secure copy می‌باشد می‌توان انتقال فایل استفاده کرد.
از هردو سرویس SCP و FTPمی‌توان برای انتقال فایل بر روی بستر شبکه LAN/WAN استفاده کرد. با این تفاوت که انتقال فایل در scp امن‌تر است. در انتقال با scp محتویات انتقال رمز‌گذاری می‌شوند در صورتیکه در FTP بصورت clear text است حتی پسورد آن.!

انتقال فایل در حالت عادی با scp به شکل زیر است، که پس از اجرای آن یک پرامپ برای وارد کردن پسورد می‌آید:

scp file.tgz root@SERVER-IP:/tmp

اما درصورتیکه نیاز به گنجاندن این کامند در یک اسکریپت داشته باشیم برای وارد کردن پسورد دچار مشکل می‌شویم. 

روشی که در اینجا به آن اشاره می‌شود برای scp‌ کردن بدون وارد کردن پسورد، استفاده از public key‌می‌باشد.
بدین صورت که یک جفت کلید public/private در سرور local‌  ایجاد می‌کنیم. در ماشین local کلید public‌ ی که ایجاد کرده‌ایم را می‌توانیم به هرکسی بدهیم، اما private key را هرگز!
موضوع جالبی که وجود دارد اینست که هر شخصی می‌تواند هر پیغامی را بوسیله public key شما رمزگذاری کند و فقط شما با استفاده از کلید خصوصی خود آنرا رمزگشایی کنید.

برای ایجاد جفت کلید می‌بایست به شکل زیر عمل کرد:

ssh-keygen -t rsa $
Generating public/private rsa key pair
Enter file in which to save the key ... 
نیاز به وارد کردن پسورد نیست می‌توان [enter] کرد.
Your identification has been saved in ... 
Your public key has been saved in ... 

کلید عمومی و خصوصی ایجاد شده به این نام‌ها هستند:
  • ~/.ssh/id_rsa : identification (private) key
  • ~/.ssh/id_rsa.pub : public key
الان می‌توان کلید عمومی را به هر روشی که مایل باشید به فایل authorized_keys در روت یا home دایرکتوری کاربر دیگری در ماشین یا سرور دوم خود انتقال دهید.
/root/.ssh/authorized_keys

در اینجا از scp برای انتقال آن استفاده می‌کنیم:
scp .ssh/id_rsa.pub root@SERVER-IP:.ssh/authorized_keys

بعضی مواقع فایل authorized_keys در دایرکتوری ssh. وجود ندارد که می‌بایست خودتان اقدام به ساخت آن کنید.
حالا درصورتی که از ماشین اول به دوم ssh‌ یا scp کنیم دیگر از ما پسورد نخواهد پرسید.

در صورتیکه کلید عمومی را در home دایرکتوری کاربر دیگری غیر از root بریزیم نیاز است که کانفیگ فایل ssh را
ادیت کنیم و کاربر را مجاز اعلام کنیم.

$ vi /etc/ssh/.sshd_config
RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile /home/USER/.ssh/authorized_keys


 $ /etc/init.d/sshd restart

$ vi /etc/ssh/.sshd_config

AllowUsers USER



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



داغ کن - کلوب دات کام
نظرات() 
chocolate
چهارشنبه 12 اردیبهشت 1397 06:03 ق.ظ
Hi! Do you know if they make any plugins to assist with SEO?
I'm trying to get my blog to rank for some targeted keywords
but I'm not seeing very good results. If you know of
any please share. Many thanks!
Cialis 20 mg
جمعه 7 اردیبهشت 1397 05:53 ب.ظ

Whoa quite a lot of good facts.
cialis uk safe dosage for cialis cialis 20 mg best price safe dosage for cialis wow look it cialis mexico bulk cialis cialis kamagra levitra buy cialis online ou acheter du cialis pas cher cialis daily dose generic
Tadalafil tablets
سه شنبه 4 اردیبهشت 1397 12:37 ق.ظ

This is nicely said. .
best place buy viagra online buy viagra from usa sildenafil buy online buy herbal viagra online uk pharmacy viagra buy uk viagra viagra for sale vigra how to order viagra pills buying viagra online from canada
Vahid Maani
پنجشنبه 4 مهر 1392 05:09 ب.ظ
محاله یه پست در مورد اسکریپت نویسی و انجام اتوماتیک کارهای باشه و خوب نباشه. مخصوصاً وقتی با یه دستور مفید شروع بشه :)
دستور scp واقعاً دستور مفیدی هست می‌شه ازش علاوه بر کپی فایل به یک ماشین راه دور در موارد، کپی فایل از یک ماشین دور به ماشین محلی و کپی فایل از یک ماشین راه دور به یک ماشین راه دور دیگه استفاده کرد.
حتی می‌شه با استفاده از آپشن r فولدر‌ها رو هم کپی کرد. :)
پاسخ azam keimasi : دقیقا همینطوره که شما میگید، اسکریپتا خیلی بدرد بخورن دوست عزیز
حمید روحی
چهارشنبه 3 مهر 1392 10:12 ب.ظ
خیلی عالیه!

یه گیک کسیه که برای کارهای تکراری وصله بزنه.همون اسکریپت نویسی.
وگرنه گیک نیست
پاسخ azam keimasi : مرسی دوست عزیز از توجهتون
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر