بایگانی نویسنده: حسن قیاسی

راهنمای عملی دستور Rs (با مثال های عملی)

راهنمای عملی دستور Rs (با مثال های عملی)

Rsync یکی از پرکاربردترین و ساده ترین دستورات مورد استفاده در سیستم عامل لینوکس است. همانطور که از نام آن پیداست، دستور Rsync برای همگام سازی و انتقال داده ها از راه دور و محلی در پوشه ها، دیسک ها و شبکه ها استفاده می شود.

مزایای استفاده از Rsync بر روی روش های CP و SCP

  • دستور rsync بهترین و کارآمدترین راه برای کپی و همگام سازی فایل ها و دایرکتوری ها از یک سیستم به سیستم دیگر است.
  • پشتیبانی کامل از لینک ها، دستگاه ها، مالکان، گروه ها و مجوزها
  • این دستور سریعتر از SCP است (SCP مخفف Secure Copy است)
  • دستور Rsync به دلیل فشرده سازی فایل ها در مبدا و مقصد، از کمترین پهنای باند استفاده می کند.

نکته: دلیل سرعت بالای rsync استفاده از پروتکل Remote-update است. با استفاده از این پروتکل، تنها خطوط جداگانه منتقل می شود. در اولین انتقال، Rsync کل محتوای یک فایل یا دایرکتوری را کپی می کند، اما در زمان های بعدی، فقط خطوط و بایت های تغییر یافته را به مقصد کپی می کند.

آموزش استفاده و کار با دستور rsync

راه های مختلفی برای استفاده از دستور rsync وجود دارد. استفاده از آنها کاملاً خوشمزه است و هرکسی می تواند بنا به نیاز خود از آنها استفاده کند. لازم به ذکر است که برخی از دستورات در rsync می توانند تک کاراکتر یا چند کاراکتر باشند. برای مثال، اجرای rsync -a همان نتیجه rsync -rlptgoD را ایجاد می کند. هنگام استفاده از دستور rsync هنگام کپی کردن دستورات از سایت ها یا انجمن ها در اینترنت، به خصوص زمانی که به طور کامل با دستور مورد نظر آشنا نیستید، یک نکته دیگر وجود دارد که باید مراقب آن باشید. اگر به خاطر داشته باشید هنگام استفاده از ویندوز با فشردن کلید f1 صفحه راهنمای مربوطه برای شما باز می شود. برای آشنایی بیشتر با دستور rsync، می توانید دستورالعمل های این دستور را با استفاده از دو دستور زیر مشاهده کنید

man rsync
rsync –help

ساختار اصلی دستور rsync شبیه به CP و SCP است.

rsync -[options] source destination

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

rsync -[options] source destination1 destination2 destination3

در ادامه جزئیات دستور rsync و 10 دستور مفید و پرکاربرد برای شما توضیح داده می شود.

ویژگی های رایج در دستور rsync

-v

ابتدای کلمه verbose که برای توضیح بیشتر در دستور rsync استفاده می شود برای این گزینه استفاده می شود.

-r

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

  • توجه: این گزینه مجوزها و برچسب های زمانی را هنگام انتقال داده ذخیره نمی کند.
-a

این اصطلاح به آرشیو اشاره دارد و حالت آرشیو همه فایل ها را به صورت بازگشتی کپی می کند

  • توجه: این گزینه مجوزهای پیوند نمادین و فایل، مالکیت کاربر و گروه و مُهرهای زمانی را حفظ می‌کند.
-z

می توان گفت که به کلمه ZIP اشاره دارد و وظیفه فشرده سازی فایل ها را بر عهده دارد.

-h

اصطلاح قابل خواندن توسط انسان به این معنی است که مسئول خواندن داده ها برای انسان است.

گزینه ها و ویژگی های زیادی در دنیای لینوکس وجود دارد. اگر می خواهید در مورد این موضوع بیشتر بدانید می توانید به لینک زیر مراجعه کنید:

https://www.computerhope.com/unix/rsync.htm

بررسی پرکاربردترین موارد دستور rsync

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

rsync را روی سیستم عامل لینوکس نصب کنید

در برخی از توزیع های لینوکس، دستور rsync قابل نصب نیست. در چنین مواردی، نصب این دستور با استفاده از دستور زیر آسان است:

#yum install rsync (On Red Hat based systems)

#apt-get install rsync (On Debian based systems)

کپی و همگام سازی فایل ها و دایرکتوری ها در سیستم محلی

کپی و همگام سازی یک فایل در سیستم محلی

با دستور زیر یک فایل از مسیری به مسیر دیگر کپی و همگام می شود. در این مثال، فایلی به نام backup.tar در /tmp/backups/ کپی و همگام سازی شد. لازم به ذکر است که در این مثال فرض بر این است که مسیر مقصد وجود ندارد، در چنین مواقعی دستور rsync مسیر ذکر شده در دستور را ایجاد می کند.

[root@linux-zone]# rsync -zvh backup.tar /tmp/backups/

created directory /tmp/backups

backup.tar

sent 14.71M bytes  received 31 bytes  3.27M bytes/sec

total size is 16.18M  speedup is 1.10

کپی و همگام سازی دایرکتوری ها در سیستم محلی

با استفاده از دستور زیر می توانید تمام فایل های یک دایرکتوری را در یک دایرکتوری جدید در همان سیستم کپی و همگام سازی کنید. در این مثال، دایرکتوری /root/rpmpkgs حاوی چند فایل rpm است که باید در پوشه /tmp/backups/ کپی شوند.

[root@linux-zone]# rsync -avzh /root/rpmpkgs /tmp/backups/

sending incremental file list

rpmpkgs/

rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/nagios-3.5.0.tar.gz

rpmpkgs/nagios-plugins-1.4.16.tar.gz

sent 4.99M bytes  received 92 bytes  3.33M bytes/sec

total size is 4.99M  speedup is 1.00

فایل ها و دایرکتوری ها را در/از سرور کپی و همگام سازی کنید

برای کپی کردن یک دایرکتوری از یک سرور محلی به یک سرور راه دور:

دستور زیر یک دایرکتوری را از یک سیستم محلی به یک سرور راه دور کپی و همگام می کند. در این مثال، فایلی به نام rpmpkgs.tar در رایانه شما حاوی یک سری فایل rpm برای یک مسیر خاص در سرور راه دور است که از شما کپی و همگام‌سازی می‌شود.

[root@tecmint]$ rsync -avz rpmpkgs/ root@192.168.0.101:/home/

root@192.168.0.101's password:

sending incremental file list

./

httpd-2.2.3-82.el5.centos.i386.rpm

mod_ssl-2.2.3-82.el5.centos.i386.rpm

nagios-3.5.0.tar.gz

nagios-plugins-1.4.16.tar.gz

sent 4993369 bytes  received 91 bytes  399476.80 bytes/sec

total size is 4991313  speedup is 1.00

دایرکتوری راه دور را در دستگاه محلی کپی و همگام کنید

این دستور به شما کمک می کند تا دایرکتوری راه دور را در فهرست محلی کپی و همگام کنید. در این مثال، پوشه /home/tarunika/rpmpkgs در سیستم راه دور قرار دارد. با دستور زیر در پوشه /tmp/myrpms در سیستم محلی شما کپی می شود.

[root@linux-zone]# rsync -avzh root@192.168.0.100:/home/tarunika/rpmpkgs /tmp/myrpms

root@192.168.0.100's password:

receiving incremental file list

created directory /tmp/myrpms

rpmpkgs/

rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm

rpmpkgs/nagios-3.5.0.tar.gz

rpmpkgs/nagios-plugins-1.4.16.tar.gz

sent 91 bytes  received 4.99M bytes  322.16K bytes/sec

total size is 4.99M  speedup is 1.00

rsync تحت SSH

یکی از کاربردهای rsync انتقال داده از طریق SSH است، همانطور که می دانید استفاده از پروتکل SSH امنیت فایل های شما را در حین انتقال افزایش می دهد.

یک فایل را از سرور راه دور به سرور محلی با SSH کپی کنید

برای تعیین یک پروتکل با rsync، باید از گزینه -e با نام پروتکل استفاده کنید. در این مثال از گزینه -e برای دسترسی به پروتکل SSH استفاده می شود.

[root@linux-zone]# rsync -avzhe ssh root@192.168.0.100:/root/install.log /tmp/

root@192.168.0.100's password:

receiving incremental file list

install.log

sent 30 bytes  received 8.12K bytes  1.48K bytes/sec

total size is 30.74K  speedup is 3.77

ب) کپی کردن یک فایل از یک سرور محلی به یک سرور راه دور با SSH

[root@linux-zone]# rsync -avzhe ssh backup.tar root@192.168.0.100:/backups/

root@192.168.0.100's password:

sending incremental file list

backup.tar

sent 14.71M bytes  received 31 bytes  1.28M bytes/sec

total size is 16.18M  speedup is 1.10

نمایش پیشرفت هنگام انتقال داده با rsync

برای نمایش پیشرفت انتقال اطلاعات از یک سیستم به سیستم دیگر می توانیم از گزینه -progress استفاده کنیم. این گزینه تمام فایل ها و زمان باقی مانده برای تکمیل انتقال را نشان می دهد.

[root@linux-zone]# rsync -avzhe ssh --progress /home/rpmpkgs root@192.168.0.100:/root/rpmpkgs

root@192.168.0.100's password:

sending incremental file list

created directory /root/rpmpkgs

rpmpkgs/

rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm

1.02M 100%        2.72MB/s        0:00:00 (xfer#1, to-check=3/5)

rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm

99.04K 100%  241.19kB/s        0:00:00 (xfer#2, to-check=2/5)

rpmpkgs/nagios-3.5.0.tar.gz

1.79M 100%        1.56MB/s        0:00:01 (xfer#3, to-check=1/5)

rpmpkgs/nagios-plugins-1.4.16.tar.gz

2.09M 100%        1.47MB/s        0:00:01 (xfer#4, to-check=0/5)

sent 4.99M bytes  received 92 bytes  475.56K bytes/sec

total size is 4.99M  speedup is 1.00

با استفاده از گزینه -include و -exclude

این دو گزینه به ما این امکان را می دهد که فایل ها را با پارامترهای خاص اضافه و حذف کنیم، با کمک Exclusion می توانیم از فایل هایی که نمی خواهیم کپی و همگام شوند جلوگیری کنیم و با کمک include می توانیم آن فایل ها یا دایرکتوری ها را حذف کنیم. شامل تبدیل و همگام سازی است

در این مثال، دستور rsync شامل تمام فایل ها و دایرکتوری هایی است که با R شروع می شوند و بقیه را حذف می کند.

[root@linux-zone]# rsync -avze ssh --include 'R*' --exclude '*' root@192.168.0.101:/var/lib/rpm/ /root/rpm

root@192.168.0.101's password:

receiving incremental file list

created directory /root/rpm

./

Requirename

Requireversion

sent 67 bytes  received 167289 bytes  7438.04 bytes/sec

total size is 434176  speedup is 2.59

با استفاده از گزینه -delete

گاهی اوقات اتفاق می افتد که یک فایل یا دایرکتوری در منبع وجود ندارد، اما قبلاً در مقصد وجود داشته است. اگر می خواهید یک فایل یا فهرست موجود را در حین همگام سازی حذف کنید، می توانید از گزینه -delete برای فایل هایی که در فهرست منبع وجود ندارند استفاده کنید. مبدا و مقصد همگام هستند. حالا یک فایل test.txt جدید در مقصد ایجاد کنید.

[root@linux-zone]# touch test.txt

[root@linux-zone]# rsync -avz --delete root@192.168.0.100:/var/lib/rpm/ .

Password:

receiving file list ... done

deleting test.txt

./

sent 26 bytes  received 390 bytes  48.94 bytes/sec

total size is 45305958  speedup is 108908.55

حداکثر مجموعه فایل برای انتقال

حداکثر اندازه فایل برای انتقال یا همگام سازی قابل تنظیم و کنترل است. با استفاده از گزینه حداکثر اندازه می توانید این کار را انجام دهید. در این مثال، حداکثر اندازه فایل 200k است. به این ترتیب، فقط فایل های مساوی یا کوچکتر از 200k منتقل می شوند.

[root@linux-zone]# rsync -avzhe ssh --max-size="200k" /var/lib/rpm/ root@192.168.0.100:/root/tmprpm

root@192.168.0.100's password:

sending incremental file list

created directory /root/tmprpm

./

Conflictname

Group

Installtid

Name

Provideversion

Pubkeys

Requireversion

Sha1header

Sigmd5

Triggername

__db.001

sent 189.79K bytes  received 224 bytes  13.10K bytes/sec

total size is 38.08M  speedup is 200.43

حذف خودکار فایل های منبع پس از انتقال موفقیت آمیز

حالا فرض کنید یک وب سرور و یک سرور پشتیبان دارید، یک نسخه پشتیبان روزانه ایجاد کرده اید و با سرور پشتیبان خود همگام سازی کرده اید، دیگر نمی خواهید یک کپی از نسخه های پشتیبان خود را در همان وب سرور نگه دارید. بنابراین، به جای اینکه منتظر بمانید تا عملیات انتقال کامل شود، از فایل به صورت دستی در سرور اصلی نسخه پشتیبان تهیه کنید. این حذف را می توان به طور خودکار با استفاده از گزینه -remove-source-files انجام داد.

[root@linux-zone]# rsync --remove-source-files -zvh backup.tar /tmp/backups/

backup.tar

sent 14.71M bytes  received 31 bytes  4.20M bytes/sec

total size is 16.18M  speedup is 1.10

[root@linux-zone]# ll backup.tar

ls: backup.tar: No such file or directory

اجرای آزمایشی دستور rsync

اگر مبتدی هستید و از rsync استفاده می کنید و نمی دانید این دستور دقیقاً چه کار می کند، باید بگویم که rsync واقعاً می تواند پوشه مقصد را خراب کند و بعداً داده ها را با یک undo برگرداند. کار دشواری است.

استفاده از این گزینه هیچ تغییری ایجاد نمی کند و فقط دستور rsync را به عنوان آزمایش اجرا می کند و خروجی دستور را نشان می دهد، اگر خروجی همان چیزی است که می خواهید انجام دهید، می توانید همان دستور را دوباره اجرا کنید و این اجرا را با – امتحان کنید – گزینه خشک اجرا حذف شد.

root@linux-zone]# rsync --dry-run --remove-source-files -zvh backup.tar /tmp/backups/

backup.tar

sent 35 bytes  received 15 bytes  100.00 bytes/sec

total size is 16.18M  speedup is 323584.00 (DRY RUN)

محدودیت پهنای باند و انتقال فایل را تنظیم کنید

با استفاده از گزینه -bwlimit می توانید محدودیت پهنای باند را برای انتقال داده از یک ماشین به ماشین دیگر تعیین کنید. این گزینه به ما کمک می کند تا پهنای باند I/O را محدود کنیم.

[root@linux-zone]# rsync --bwlimit=100 -avzhe ssh  /var/lib/rpm/  root@192.168.0.100:/root/tmprpm/

root@192.168.0.100's password:

sending incremental file list

sent 324 bytes  received 12 bytes  61.09 bytes/sec

total size is 38.08M  speedup is 113347.05

همچنین، به صورت پیش فرض rsync   بلاک ها و بایت ها را تغییر می دهد، اگر شما می خواهید صریحا همگام سازی همه ی فایل ها را انجام دهید از گزینه ی –W با آن استفاده کنید.

[root@linux-zone]# rsync -zvhW backup.tar /tmp/backups/backup.tar

backup.tar

sent 14.71M bytes  received 31 bytes  3.27M bytes/sec

total size is 16.18M  speedup is 1.10

برای انتقال فایل های حجیم بین سرورها از دستور Rs استفاده می کنیم. اگر کاربر سرور مجازی یا سرویس های سرور اختصاصی ما هستید یا می خواهید فایل های حجیم را بین سرورهای خود انتقال دهید، توصیه می کنیم از این راهنما برای اهداف خود استفاده کنید. در صورت بروز مشکل در هنگام استفاده از این دستور با ما تماس بگیرید تا تیم فنی گنج هاست فایل ها را برای شما انتقال دهد.

همه چیز درباره کلیدها در محیط های لینوکس و ویندوز

در این مقاله به بررسی و توضیح کلیدها و آموزش ساخت کلید SSH در محیط های ویندوز و لینوکس می پردازیم. رمزگذاری توسط SSH-Key یکی از روش های رمزگذاری نامتقارن بسیار با امنیت بالا است.

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

اما مشکل اینجاست که اگر از این کلیدها برای مدیریت کاربران مختلف استفاده شود، اگر کلید توسط یک کاربر به بیرون درز کند، اطلاعات دیگران به خطر می افتد. برای این منظور بحث جفت کلید (عمومی و خصوصی) مطرح شد.

کلید عمومی SSH و کلید خصوصی SSH چیست و چگونه کار می کند؟

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

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

کلید خصوصی (کلید خصوصی)

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

کلید عمومی (کلید عمومی)

کلیدهای عمومی همانطور که از نامشان پیداست عمومی هستند. این کلیدها از طریق فایل یا دایرکتوری خاصی که همه کاربران به آن دسترسی دارند در دسترس همه قرار می گیرد. کلیدهای عمومی معمولاً از اعداد بلند و تصادفی تشکیل شده اند. در زیر نمونه ای از کلید عمومی آورده شده است.

نمونه ای از کلید عمومی:

3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069 EA97 FC20 5E35 F577 EE31 C4FB C6E4 4811 7D86 BC8F BAFA 362F 922B F01B 2F40 C744 2654 C0DD 2881 D673 CA2B 4003 C266 E2CD CB02 0301 0001

اگر با این مفاهیم تازه کار هستید، ممکن است کمی گیج شده باشید، بنابراین سعی می کنیم تا حد امکان با ارائه مثالی آن را توضیح دهیم:

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

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

آموزش گام به گام کلید سازی ssh

ایجاد کلید SSH در لینوکس و ویندوز با یکدیگر متفاوت است. هر کدام از این سیستم عامل ها روش ها و برنامه های مختلفی برای تولید کلید دارند و در اینجا ساده ترین و بهترین روش تولید کلید SSH به شما آموزش داده می شود.

کلید سازی ssh در ویندوز

نرم افزارهای زیادی برای تولید کلیدهای SSH در ویندوز وجود دارد. از پرکاربردترین آنها می توان به OpenSSH و Putty اشاره کرد. استفاده از نرم افزار Putty را به شما پیشنهاد می کنیم که از لینک زیر قابل دانلود است:

دو راه برای ایجاد یک کلید SSH با استفاده از Putty وجود دارد:

با استفاده از CMD

پس از دانلود و نصب PuttyGen وارد محیط Command Prompt شوید (برای این کار از کلیدهای ترکیبی Win + R استفاده کنید) و پس از ظاهر شدن صفحه سیاه، دستور زیر را کپی کرده و سپس کلید Enter را بزنید.

puttygen -t rsa -C "your_email@example.com”

به جای your_email@example.com آدرس ایمیل خود را وارد کنید.

پس از فشار دادن کلید enter، سیستم از شما در مورد محل ذخیره سازی سوال می کند، همان مسیر پیش فرض را انتخاب کنید. در مرحله بعد سیستم از شما رمز کلید SSH را می خواهد و آن را وارد کرده و کلید Enter را فشار می دهد. حالا اگر به همان آدرس پیش فرض بروید، دو فایل به نام های id_rsa و id_rsa.pub می بینید که id_rsa کلید خصوصی شما و id_rsa.pub کلید عمومی است.

  • id_rsa = کلید خصوصی
  • id_rsa.pub = کلید عمومی

استفاده از محیط گرافیکی Putty

وارد Puttygen شده و گزینه Generate را انتخاب کنید. هنگامی که کلید SSH تولید شد، باید دو کار را انجام دهید:

  • بر روی گزینه Save Private Key کلیک کنید و فایل ارائه شده را در مکانی امن ذخیره کنید (به یاد داشته باشید که این فایل همان کلید خصوصی است که اهمیت آن در بالا توضیح داده شد)
  • کل کلید عمومی را کپی کنید و در جایی نگه دارید.

تبریک می گویم ! اکنون کلیدهای عمومی و خصوصی را با موفقیت تولید کرده اید.

استفاده از کلید SSH در سیستم عامل ویندوز

استفاده از کلیدها در ویندوز ساده تر از آن چیزی است که فکر می کنید. برای روشن شدن بیشتر موضوع، لازم به ذکر است که برای دسترسی و رمزگذاری اطلاعات در سیستم و سرور مورد نظر، باید کلید عمومی را در آن سیستم بارگذاری کنید. برای مثال در سرور لینوکس محتویات کلید عمومی باید در یک خط در فایل با مسیر زیر در لینوکس وارد شود.

/root/.ssh/authorized_keys

کلید عمومی به صورت زیر در فایل فوق قرار می گیرد.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNqqi1mHLnryb1FdbePrSZQdmXRZxGZbo0gTfglysq6KMNUNY2VhzmYN9JYW39yNtjhVxqfW6ewc+eHiL+IRRM1P5ecDAaL3V0ou6ecSurU+t9DR4114mzNJ5SqNxMgiJzbXdhR+j55GjfXdk0FyzxM3a5qpVcGZEXiAzGzhHytUV51+YGnuLGaZ37nebh3UlYC+KJev4MYIVww0tWmY+9GniRSQlgLLUQZ+FcBUjaqhwqVqsHe4F/woW1IHe7mfm63GXyBavVc+llrEzRbMO111MogZUcoWDI9w7UIm8ZOTnhJsk7jhJzG2GpSXZHmly/a/buFaaFnmfZ4MYPkgJD username@example.com

سپس وارد نرم افزار Putty شده و مسیر زیر را دنبال کنید:

 Connection -> SSH -> Auth

سپس روی گزینه browse کلیک کنید و فایل ppk. که کلید خصوصی شماست را انتخاب کنید. وقتی کارتان تمام شد، از Ctrl+d برای خروج استفاده کنید.

تبریک می گویم ! اتصال شما به سرور مورد نظر با موفقیت انجام شد.

ایجاد کلیدهای SSH در سیستم عامل های لینوکس و مک

ایجاد کلید SSH در سیستم عامل های لینوکس و مک بسیار شبیه به یکدیگر است. در ادامه ابتدا از در دسترس نبودن کلید SSH مطمئن می شویم و در صورت نبودن، مراحل ساخت آن را مرحله به مرحله توضیح می دهیم.

مرحله 1: آیا سیستم عامل لینوکس من از قبل کلید SSH دارد؟

برای پاسخ به این سوال وارد terminal شده و دستور زیر را وارد کنید.

cd ~/.ssh

بعد از آن دو حالت وجود دارد، اگر با پیغام «عدم وجود فایل یا دایرکتوری» مواجه شدید، یعنی کلید SSH وجود ندارد و باید آن را ایجاد کنید (مرحله دوم را رد کنید و مرحله سوم را انجام دهید) اما ممکن است یک کلید قبلا ایجاد شده باشد و شما قصد استفاده از آن را دارید، برای این منظور باید کلید مورد نظر را بازیابی کنید.

مرحله 2: کلید SSH را بازیابی کنید

ممکن است در حال حاضر کلیدی وجود داشته باشد که به دلایلی نیاز به پشتیبان گیری داشته باشد، بنابراین باید با استفاده از دستور زیر در یک محیط SSH این کار را انجام دهید.

mkdir key_backup

copy id_rsa* key_backup

مرحله سوم:

نحوه ایجاد کلید SSH در لینوکس

از آنجایی که ایجاد کلید SSH در سیستم عامل لینوکس در محیط ترمینال انجام می شود، از این روش می توان برای ایجاد کلید SSH در مک نیز استفاده کرد. برای تولید کلیدهای ssh وارد محیط ترمینال خود شده و دستور زیر را وارد کنید

ssh-keygen -t rsa -C "your_email@example.com"

نکته 1: وارد کردن آدرس در آینده به شما کمک می کند تا کلید را بهتر شناسایی کنید.

نکته 2: رمزگذاری پیش فرض در SSH 2048 بیت است. برای تبدیل آن به مقادیر بالاتر می توانید به جای دستور بالا از دستور زیر استفاده کنید.

ssh-keygen -t rsa -b 4096

سپس مانند شکل بالا مسیر پیش فرض پیشنهادی سیستم را بپذیرید (این مسیر دایرکتوری /.ssh است که در صورت عدم وجود توسط سیستم ایجاد می شود).

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

تبریک می گویم! شما موفق شدید ایجاد کلید در سیستم عامل لینوکس شدید، قوی

از کلید استفاده کنید ssh در سیستم عامل لینوکس

پس از ایجاد کلید در ترمینال سیستم عامل لینوکس، دو فایل به نام های id_rsa و id_rsa.pub در پوشه /.ssh ذخیره می شوند (/.ssh همان محل پیش فرضی است که در مراحل قبل ذکر شد). id_rsa کلید خصوصی شما و id_rsa.pub کلید عمومی است.

برای اتصال به سرور دستور زیر را در محیط SSH وارد کنید.

ssh -i /path/to/id_rsa user@x.x.x.x

user@xxxx به معنای نام کاربری شماست.

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

نحوه پاک کردن و خالی کردن کش DNS در لینوکس

به این مقاله امتیاز دهید

در مقاله قبلی نحوه پاکسازی کش DNS در ویندوز را به شما آموزش دادیم. پاک کردن کش DNS در لینوکس و MacOS این تا حدودی با ویندوز متفاوت است که بعداً با آن آشنا خواهید شد.

در ابتدا به نظر می رسد کش DNS را در لینوکس پاک کنید پیچیده و دشوار است. اما خیلی راحت تر از آن چیزی است که فکر می کنید. اگر این آموزش را مرحله به مرحله دنبال کنید، می توانید به راحتی این کار را انجام دهید. در این مقاله خواهید آموخت که کش dns چیست، چرا باید کش DNS را پاک کنید، و چگونه باید کش DNS را در لینوکس و مک پاک کنید؟

DNS Cache چیست؟

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

با این حال، در برخی موارد، مانند مشکلات شبکه، ممکن است لازم باشد کش DNS را پاک کنید. با این کار اطلاعات DNS کش شده پاک می شود و جستجوی بعدی برای باز کردن دامنه با DNS جدید انجام می شود. برای آشنایی بیشتر با نحوه عملکرد DNS، پیشنهاد می کنیم این مقاله DNS چیست را مطالعه کنید.

چرا باید کش DNS را پاک کنیم؟

اکثر سیستم عامل ها ذخیره DNS را انجام می دهند. تا زمانی که اطلاعات کش صحیح باشد، درخواست ها بدون درخواست از سرور DNS پاسخ داده می شوند. با این حال، استفاده از اطلاعات کش DNS قدیمی می تواند منجر به خطا یا مشکلات امنیتی شود. به همین دلیل است که پیشنهاد می کنیم هر از چند گاهی کش DNS خود را پاک کنید.

چند دلیل برای پاک کردن کش DNS خود گهگاه:

  • ردیابی رفتار جستجو را متوقف کنید

کش DNS پیش بینی تاریخچه مرور شما را برای هکرها آسان می کند.

با استفاده از هک DNS، اطلاعات مهم کاربر مانند اطلاعات ورود به سیستم یا داده های شخصی در خطر است.

پاک کردن حافظه نهان DNS ممکن است مشکلات یا خطاهایی را که ممکن است با آن مواجه باشید حل کند.

چگونه کش DNS را در لینوکس پاک کنیم؟

هر توزیع سیستم عامل لینوکس از سرویس متفاوتی برای کش DNS استفاده می کند. باید خودتان بررسی کنید که سیستم شما از کدام سرویس استفاده می کند. اکثر توزیع‌های لینوکس از «systemd-resolve»، «nscd» یا «dnsmasq» استفاده می‌کنند. البته سیستم شما می تواند از “BIND” استفاده کند.

با این حال، نحوه پاک کردن کش DNS به توزیع و سرویس ذخیره سازی لینوکس شما بستگی دارد. در ادامه نحوه پاکسازی کش DNS در هر توزیع لینوکس را به شما آموزش می دهیم.

systemd-solution

توزیع‌های دبیان مانند اوبونتو معمولاً از systemd-resolve استفاده می‌کنند. برای پاک کردن کش DNS ابتدا وارد Terminal شوید. سپس دستور زیر را وارد کرده و Enter را فشار دهید.

sudo systemd-resolve --flush-caches

با این کار کش DNS پاک می شود. کد زیر را وارد کنید تا مطمئن شوید دستور به درستی وارد شده است. اگر مقدار اندازه کش صفر باشد به این معنی است که عملیات به درستی انجام شده است.

sudo systemd-resolve –statistics

dnsmask

به طور معمول، سرورهای لینوکس از dnsmasq بر خلاف سیستم های دسکتاپ استفاده می کنند. برای پاک کردن کش DNS، دستور زیر را در ترمینال وارد کنید:

sudo systemctl restart dnsmasq

nscd

توزیع های آرچ لینوکس معمولا از nscd استفاده می کنند. برای پاک کردن کش DNS، کد زیر را وارد کرده و سرویس را مجددا راه اندازی کنید.

sudo systemctl restart nscd

به این ترتیب می توانید کش DNS را پاک کنید.

نتیجه

اگر هنگام مرور اینترنت و باز کردن وب سایت ها با مشکل یا خطا مواجه شدید، ممکن است سیستم شما یک حافظه پنهان DNS قدیمی ذخیره کرده باشد. با کش DNS را پاک کنید در سیستم عامل لینوکس و از طریق کد دستوری می توانید به راحتی مشکل را حل کنید.

در این مقاله نحوه پاک کردن کش DNS به شما آموزش دادیم اگر با پاک کردن کش DNS مشکل شما حل نشد می توانید به مقاله مراجعه کنید کش مرورگر را پاک کنید شما هم کمک بگیرید امیدواریم این آموزش به شما کمک کرده باشد. اگر سوالی در این مورد دارید در بخش نظرات از ما بپرسید.