مدیریت از راه‌دور با استفاده از SSH

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

هر مدیر سیستمی که عهده‌دار اداره دو یا چند سرویس‌دهنده شبکه است، نیاز به اداره کردن آنها از راه دور دارد. وجود چنین امکانی امکان فراهم کردن یک مدیریت تمرکزیافته‌تر را فراهم می‌سازد.
سیستم‌عامل لینوکس ابزارهای مدیریت سیستم بسیار کارآمدی را فراهم کرده است به نحوی که می‌توانید مانیتور و صفحه‌کلید را از روی تمامی سرویس‌دهنده‌های خود حذف نموده و تنها کیس سیستم را در اتاق سرویس‌دهنده‌ها قرار دهید که این به نوبه خود امنیت سیستم‌ها را در مقابل حملات محلی نیز افزایش خواهد داد. با استفاده از این ابزارها شما به هیچ وجه احساس نخواهید کرد که در پشت کنسول سرویس‌دهنده مورد نظر قرار ندارید.
ابزارهای مدیریت راه دور نه تنها برای اداره سرویس‌دهنده‌ها مناسب هستند، بلکه برای تنظیم و پیکربندی ایستگاه‌های کاری موجود روی شبکه نیز ابزارهای بسیار سودمندی به شمار می‌روند. تصور کنید هنگامی که نیاز دارید تا تنظیمی را روی یک ایستگاه کاری شبکه خود انجام دهید در حالی که سرتان بسیار شلوغ است و اصلا مایل نیستید که از پشت میزتان تکان بخورید و چند طبقه بالا و پایین حرکت کنید. به سرعت می‌توانید وارد ایستگاه کاری مورد نظر شده و تنظیمات لازم را انجام دهید. بدون اینکه حتی ۱ متر از جای خود حرکت کرده باشید.
برای اداره سیستم در حالت متنی، ابزارهای متفاوتی مانند telnet، rsh و ssh وجود دارند. به هیچ وجه توصیه نمی‌کنیم که از rsh یا telnet برای مدیریت راه‌دور سیستم‌های خود استفاده نمایید. زیرا ارتباطات این دو ابزار در مقابل حملات حفاظت شده نیستند. در صورتی که یک نرم‌افزار sniffer در شبکه شما جاسازی شده باشد، حمله کننده قادر خواهد بود تمامی کلمات عبور شما را کشف نماید. SSH از پروتکل SSL جهت رمزنگاری اطلاعات ارسال/دریافتی شما استفاده می‌کند. علاوه بر SSL، از امضاهای دیجیتالی نیز برای امنیت بیشتر استفاده می‌شود. SSH مخفف Secure Shell می‌باشد.
SSH
شامل دو بخش سرویس‌دهنده و سرویس‌گیرنده است. سرویس‌دهنده و سرویس‌گیرنده SSH معمولا در تمامی توزیع‌های لینوکس هنگام نصب بصورت پیش‌گزیده نصب و تنظیم می‌شوند. سرویس sshd موجود بر روی سیستم‌عامل لینوکس بر گرفته از OpenBSD می‌باشد.
فایل‌های پیکربندی SSH در مسیر etc/ssh/ ذخیره می‌شوند. فایل پیکریندی سرویس‌دهنده SSH یا sshd به نام sshd_config می‌باشد. گزینه‌های امنیتی و سیستمی sshd را می‌توانید از طریق این فایل تنظیم نمایید. برخی از این گزینه‌ها عبارتند از:
- Port : شماره پورتی که سرویس‌دهنده sshd آنرا کنترل خواهد کرد. پورت شماره ۲۲ پیش‌گزیده است.
- Protocol :
شماره نسخه پروتکل SSL مورد استفاده. شماره ۲ معمولا پیش‌گزیده است.
- PermitRootLogin :
اجازه ورود به کاربر ریشه داده شود یا خیر. گزینه را باید با واژه‌های yes یا no تنظیم نمایید. پیش‌گزیده yes می‌باشد.
- PasswordAuthentication :
فعال سازی احراز هویت با استفاده از کلمات عبور. پیش‌گزیده yes می‌باشد.
- PermitEmptyPasswords :
آیا کاربران بدون کلمه عبور قادر به ورود باشند یا خیر؟ پیش‌گزیده no می‌باشد.
- AllowUsers :
با استفاده از این گزینه می‌توانید کاربرانی را که قادر به ssh کردن به یک سیستم هستند را محدود نمایید. کاربران مجاز را با یک فاصله جلوی گزینه فوق بنویسید. این گزینه معمولا بصورت پیش‌گزیده وجود ندارد.
برای کسب اطلاعات دقیق‌تر در مورد تنظیمات فایل sshd_config به manual آن مراجعه نمایید. کافی است دستور man sshd_config را وارد نمایید.
جهت راه‌اندازی سرویس‌دهنده sshd بر روی یک سرویس کافی است دستور etc/init.d/ssh start/ را در حالتی که بصورت کاربر ریشه وارد سیستم شده‌اید وارد نمایید:
# /etc/init.d/ssh start
Starting OpenBSD Secure Shell server: sshd.

سرویس‌دهنده SSH شروع به کار کرده و شما اکنون قادر به کنترل از راه‌دور سیستم مورد نظر هستید. برای اتصال به سیستم مورد نظر باید از دستور ssh استفاده نمایید. پس از دستور ssh ، نام کاربر و نام ماشین مورد نظر را وارد نمایید:
# ssh root@memphis
نخستین باری که سعی در اتصال یه یک سیستم دارید، هشداری مبتنی بر ناشناس بودن سیستم مورد نظر برای شما نمایش داده شده و از شما برای ادامه سوال می‌شود. در صورتی که سوال مورد نظر را با yes پاسخ دهید، RSA key fingerprint سیستم فوق در فایل ssh/known_hosts./ ذخیره خواهد شد و در دفعات بعدی از شما سوال نخواهد شد. فقط در صورتی که RSA key fingerprint سیستم مورد نظر تغییر کند، یک هشدار امنیتی در مورد حمله نوع man in the middle برای شما نمایش داده خواهد شد:
The authenticity of host 'memphis (127.0.0.1)' can't be established.
RSA key fingerprint is a2:c6:70:3e:73:00:b3:ed:90:b1:9a:bc:e7:d5:32:ba.
Are you sure you want to continue connecting (yes/no)? Yes
Warning: Permanently added 'memphis' (RSA) to the list of known hosts.

با استفاده از دستور ssh-keygen قادر خواهید بود کلیدهای RSA جدیدی بر روی سیستم خود ایجاد نمایید که برای رمزنگاری کلمات عبور شما از آن استفاده خواهد شد:
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9a:03:7d:69:fc:fb:81:1a:52:9d:2c:d1:05:2a:e4:b8 root@memphis

پس از آن ار شما کلمه عبور سیستم مورد نظر درخواست خواهد شد که شما باید کلمه عبور کاربر مورد نظری که با آن مایل به برقراری اتصال هستید را وارد نمایید:
root@memphis's password:
پس از آن کنسول سیستم مورد نظر برای شما نمایش داده خواهد شد و شما مانند اینکه پشت سیستم خودتان مشغول کار هستید می‌توانید آنرا کنترل و تنظیم نمایید:
Last login: Sat May 1 19:35:42 2004 on tty4
Linux memphis 2.6.5 #1 Mon Apr 5 23:23:54 IRST 2004 i686 unknown unknown GNU/Linux
Libranet GNU/Linux
Last login: Sat May 1 19:35:42 2004
root@memphis:~#

پس از اتمام عملیات بر روی سیستم راه‌دور، کافی است دستور logout را برای بستن اتصال وارد نمایید:
# logout
Connection to memphis closed.

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

منبع technotux.org





موضوعات مشابه: