فرض کنید مسئول یک شبکه کامپیوتری هستید و بخشی از شبکه در شهر دیگری مستقر است وشمابرای مدیریت سیستم ها مجبورید روزانه چندین دفعه با هر سیستم از راه دورارتباط برقرارکنید. برای هر سیستم باید یک عملیات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 به کار ببرید.