شنبه, ۱۱ اسفند, ۱۴۰۳ / 1 March, 2025
مجله ویستا

بررسی سرویس دهنده SSHدر لینوكس


بررسی سرویس دهنده SSHدر لینوكس

فرض كنید مسئول یك شبكه كامپیوتری هستید و بخشی از شبكه در شهر دیگری مستقر است وشمابرای مدیریت سیستم ها مجبورید روزانه چندین دفعه با هر سیستم از راه دورارتباط برقراركنید برای هر سیستم باید یك عملیاتpassphrase را انجام دهیدواین,وقت وانرژی زیادی از شما خواهدگرفت فرمان ssh agent این امكانرابه شما می دهدكه فقط یك بار مجبورباشید به سیستم راه دور متصل شویدوبر روی سیستم مقصد سرویسagent را فعال كنید

در هنگام نصب لینوكس، اگر دقت كرده باشید،این امكان رادارید كه سرویس دهنده(ssh secure shell) رافعال كنید. SSH سرویسی برای مدیریت ودسترسی به كامپیوتر یاشبكه از راه دور است.rsh و telnet و ftpدیگر ابزارهای برقراری ارتباط ومدیریت یك سیستم راه دورهستند اما مكانیزهای امنیتی در آن هااستفاده نشده است و به راحتی می توان با شنود كردن ارتباط میان دو كامپیوتر در سطح شبكه ، به اطلاعات بسیار ارزشمندی مانند اسم ورمز كاربری كامپیوتری راه دور دست یافت.SSH یك تونل ارتتاطی رمز شده میان دو كامپیوتر به وجود می آورد و داده های به صورت كد شده میان دو كامپیوتر تبادل می شوندودر نتیجه حتی در صورت به دست آوردن اطلاعات تبادل شده میان این دو كامپیوتر، امكان بهره برداری از آنها وجود ندارد. SSH یك سرویس امنیتی برای مقابله باطیف گسترده ای از حملا ت اینترنتی است. SSH ذاتا یك پروتكل است و استانداردهای یك ارتباط رمز شده برای اداره یك سیستم از راه دور را فراهم می كند.۱SSHاولین نسخه از این پروتكل است كه با اصلاحاتیSSH۲تبدیل شده است. SSH۲ ازامكانات وقابلیت های بیشتری به نسبت نسخه قبلی برخوردار است ودستورات وبرنامه های گسترده تری دارد.نسخه رایگان وآزاد این پروتكل، با نام open SSH توسط گروه سیستم عامل openBSD منتشرمی شود.SSH یك ابزار كاملا خط فرمان است كه فقط در كنسول های متنی قابل استفاده می باشدو برای به كارگیری درسیستم های mac و ویندوزنیز به كنسول خط فرمان نیاز دارد.ارائه راهنمای كاملی از راه اندازی ، پیكربندی واستفاده از سرویس SSH به طور موثر وكارا،كاری خارج از عهده یك مقاله است وكتابی مفصل وجامع را طلب می كند.هد ف این نوشتار شناخت این سرویس امنیتی در كنار قابلیت های آن درسیستم عامل لینوكس وارائه كلیدهایی به خواننده برای

پیگری و مطالعه هدفمند موضوع است.

● شروع كار باSSH

SSH یك برنامه سرویس دهنده/سرویس گیرنده است.بر روی كامپیوتر راه دوری كه باید به آن متصل شد،برنامه سرویس دهنده sshd نصب می شود وبرنامه های كاربردی بر روی سیستم های كاربران یا مدیر سیستمی كه می خواهد از راه دور كامپیوترمورد نظررااداره كند،اجرا می شوند.همچنین می تواناز شاخه etc/ssh/ به فایل های پیكربندی برنامه دسترسی داشت.sshdconfig فایل پیكربندی سرویس دهنده sshd است.دایركتوری HIME/ssh$ برروی سیستم هركاربرشامل فایل هایی مانندكلیدعمومی وفایل های پیكربندی خود كاربرمی باشد.دربسیاری از توزیع های لینوكس هردو سرویس به صورت پیش فرض نصب و تنظیم می شوند.SSH از پروتكل SSL برای تبادل اطلاعات رمز شده میان سیستم ها استفاده می كند. بنابراین برای كار با SSH به نصب openSSL نیاز دارید.در صورتی كه این دو سرویس برروی توزیع لینوكس نصب نباشند، می توان با دریافت بسته های نرم افزاری آن ها، به نصب وپیكربندی این دوسرویس اقدام نمود.

جدول۱

SSH از دو كلیدعمومی(public) وخصوصی (private) برای احرازهویت و رمز گشایی اطلاعات استفاده می كند. كلید عمومی میان تمامی كاربران به اشتراك گذاشته می شود،اما هر كاربر فقط یك كلید خصوصی منحصربه فرد داردكه با استفاده از آن،شناسایی واحرازهویت می گردد.۱ SSH ازالگوریتم رمزنگاریRSA برای كد كردن اطلاعات استفاده می كند،ولی علاوه براز الگوریتم DSA نیز استفاده می كند.پس از نصب وپیكربندیSSH، باید كلیدهای عمومی تولید و میان سیستم هابه اشتراك كذاشته شوند.

برای راه اندازی یك سرویسSSH پس ازنصب برنامه،مراحل كاربه صورت زیرخواهد بود:

۱- تولید كلید های عمومی و خصوصی برای هركاربر.

۲- به اشتراك گذاری كلید عمومی میان تمامی كامپیوترهایی كه می خواهند از سرویسSSH استفاده كنند.

۳- دسترسی به حساب كاربری سیستمی كه باید از راه دور با آن ارتباط داشت.

● تولید كلید های RSA

پس از نصب سرویس SSH، در اولین گام باید كلید عمومی وخصوصی ساخته شود.در۲ SSH این امكان وجود دارد كه از هر دو الگوریتم رمزنگاریrsa و dsa برای ساخت كلیدها استفاده شود،ولی در۱ SSH فقط الگوریتمrsa به كار برده می شود.برای تولید كلیدهایrsa یا dsaازفرمان sshkeygenدر حساب ریشه استفاده می كنیم

–keygen-trsa [ [misagh@teamset

بااجرا این دستوراز مكانی كه می خواهید فایل های شما در آن جا ذخیره شوند سوال می شود.آرگومان t باعث نشان دادن مراحل كار ونام ومكان فایل می شود.می توانید با كمك صفحات manاز آرگومان های دیگر این فرمان هم كمك بگیرید. پارامترrsa هم به برنامه می گوید كه برای رمز كردنusemame وpasswordاز این الگوریتم استفاده شود.اصطلاحا به عملیات رمز نمودن اطلاعات ویا رمز گشایی آن هاpassphrase گفته می شود.می توانیداز الگوریتمdsa هم در SSH۲استفاده كنید. به صورت پیش فرض سیستم، دایركتوری مخفیssh رادر دایركتوری خانگی شما برای ذخیره فایل هادرنظر می گیرد. (HOME/.ssh$) درssh۱ نامidentity.pub ودرSSH۲idrsa.pub برای فایل كلید عمومی انتخاب می شود. در ادامه یك رمز برای كد كردن اسم ورمز كاربری شما و تولید كلید عمومی و خصوصی درخواست می شود.اگر این رمز را وارد نكنید،ممكن است سیستم به صورت پیش فرض یك عدد را انتخاب كند یا مجددا از شما تقاضای یكpassphrase كند. بعداز اتمام عملیات،اكنون در دایركتوری HOME/.ssh/idrsa$ یاHOME/.ssh/identity$ می توانید كلیدعمومی وخصوصی تولید شده را مشاهده كنید.HOME/.ssh/authorizedkeys$ دایركتوری مهم دیگری است كه درهمین شاخه وجود دارد وباید كلید عمومی تمام كاربران در این دایركتوری به اشتراك گذاشته شود. پس ازاینكه كلید عمومی ساخته شد،یك كپی ازآن را باید در دایركتوری به همین نام، ولی برروی كامپیوتری كه می خواهید از راه دوربه آن متصل شوید، كپی كنید. فرمانkeygen این قابلیت را دارد كه بتوانید یك passphrase جدید برای خود درست كنید یا آن را تغییر دهید.برای این منظور می توان از آرگومان-p استفاده كرد.اگر تمایل دارید از الگوریتم رمزنگاری dsa درpassphrsae استفاده كنید، درهمان فرمان بالا das را به جایrsa به كار ببرید.

● برقراری یك نشست SSH با سرویس راه دور

برای راه اندازی سرویس دهندهSSH برروی یك سیستم، از دستورزیراستفاده می شود:etc/init.d/ssh start/برنامه های كاربردی زیادی تحت سرویسSSH قابل اجرا هستند. مهمترین آن ها خود برنامهSSH است، با استفاده ازاین برنامه می توان با یك كامپیوتر راه دور (كامپیوتری خارج از یك شبكهlan ) به یك كامپیوتر شبكه متصل شد و رامین و دستورات خود را در شبكه اجرا كرد ودر اصطلاح ازراه دور به یك كامپیوترlogin كرد. برای آن كه بتوانیدبه یك كامپیوترراه دوردسترسی داشته باشید، نیاز است برروی كامپیوتر مقصد، سرویس دهندهssh فعال باشد وكلیدعمومی شما نیزبه اشتراك گذاشته شده باشد. برنامهSSH این مكان را می دهد كه وارد ترمینال سیستم راه دور شوید.درست مانند آن كه الان در مقابل آن سیستم ایستاده اید ومی خواهید دستورات خود را اجرا كنید. یا از طریق كنسولX window بتوانید با محیط های گرافیكی سیستم كار كنید. شكل كلی فرمانSSH به صورت زیر می باشد: ssh hostname

كافی است نام شبكه یا ماشینی كه می خواهیداز راه دور به آنlogin كنید را مقابل فرمانssh وارد كنید.به مثال های زیر توجه كنید:

ssh kemel.linuxteam.com

ssh ۶۹۱.۷۱.۱۵۱.۷

ssh rootrobin