راه اندازی SSH در سیسکو

در اکثر مواقع شما نیاز دارین که از راه دور به switch  یا router خود دسترسی داشته باشید تا در صورت نیاز جهت پیکربندی یا رفع عیب و تنظیمات جدید به دستگاه متصل شوید . به عنوان مثال در نظر بگیرید که شما یک یا چند Device  را در سطح یک شهر یا کشور پیکربندی کرده اید و پس از این کار باید به مشترکین خود خدمات پشتیبانی ارائه دهید . در صورت عدم دسترسی از راه دور به این Devie ، هنگامی که نیاز به ایجاد تغییر در پیکربندی دستگاه یا رفع عیب باشید باید جهت دسترسی به دستگاه مسیر زیادی را طی کرده که این مستلزم وقت و هزینه زیادی خواهد بود.
جهت رفع این مشکل سیسکو از پروتکل هایی نظیر Telnet و SSH استفاده می کند که پروتکل SSH ایمن تر از  Telnet می باشد  و در ادامه با هر دو پروتکل آشنا می شویم.
 SSH یا  Secure Shell اساساً روشی ایمن برای دسترسی و ارسال فرمان‌ها به CLI) Command Line Interface)  دستگاه مقصد از طریق ارتباط شبکه‌ای و بدون اتصال کابل کنسول به طور مستقیم می‌باشد. بر خلاف استاندارد  Telnet که داده را به فرمت متن ساده ارسال می‌کند،  SSH از رمزنگاری استفاده می‌کند که از محرمانه بودن و یکپارچگی داده اطمینان حاصل خواهد کرد. دو نسخه از SSH  وجود دارد که  SSH v2 نسخه بهبود یافته  SSH v1 (به دلیل وجود حفره‌های امنیتی مشاهده شده در SSH v1) می‌باشد. به صورت پیش فرض اگر  SSH در دستگاه‌های سیسکو فعال شود، هر دو نسخه را شامل خواهد شد

تفاوت ها و شباهت های Telnet و SSH:

1- هر دوی پروتکل ها به صورت مشترک یک هدف را دنبال می کنند .
2- SSH در مقایسه با Telnet بسیار ایمن تر است .
3- SSH هنگام انتقال ترافیک ابتدا ترافیک را رمزنگاری می کند و  سپس ترافیک را ارسال می کند اما Telnet ترافیک را به همان شکل اصلی خود یا اصطلاحا Plane Text ارسال می کند که در صورتی که هکر ترافیک ارسالی بین مبدا و مقصد را دریافت کند می تواند این اطلاعات را به راحتی بخواند.
4- SSH قادر است جهت عملیات تشخیص هویت از Public Key استفاده کند ولی Telnet این امکان را ندارد .
شکل رمز نگاری شده اطلاعات که توسط پروتکل SSH ارسال شده
استفاده از پروتکل Telnet و عدم رمزنگاری اطلاعات :

فعالسازی SSH در سوییچ و روتر با سیستم عامل سیسکو (Cisco SSH):

می‌توان این فرآیند را به چهار گام ساده زیر تقسیم کرد:
 آماده‌سازی دستگاه (اعمال تنظیمات نام دستگاه، نام دامین، نام کاربری و رمزهای عبور)
 آماده‌سازی شبکه (آدرس‌دهی IP و مسیریابی)
 تولید کلید RSA و فعالسازی SSH
 اعمال SSH بر روی خطوط vty

راه اندازی  SSH :

جهت تنظیم روتر و یا کنترل آن و سوئیج های سیسکو از راه دور نیاز به پروتکل هایی از قبیل  Telnet داریم . این پروتکل بیشترین استفاده را دارد ولی باید ایراد عمده آن را نیز در نظر گرفت .  این نقص به یک نیروی خارجی اجازه دسترسی پیدا کردن به اطلاعاتی که بین شبکه و دستگاه مدیریت رد و بدل میشود را میدهد. Telnet در انتقال اطلاعات به صورت Clear-Text    عمل میکند.  بدین ترتیب که حتی کلمه عبور و تنظیمات سوئیچ و روتر به طور کامل قابل شنود و دسترسی است .
البته برطرف کردن این مشکل راه حلی دارد و آن استفاد از پروتکل  SSH یا Secure Shell است که اطلاعات را به صورت کد شده میان سرور و کلاینت انتقال میدهد . تنظیمات روتر و سوئیچ با استفاده از  Public Key  و Private key   انجام میشوند .
قبل از راه اندازی SSH می بایست از نسخه IOS ، سیستم عامل روتر و سوئیچ های سیسکو ، اطمینان حاصل کنید. در واقع، IOS می بایست سیستم Encryption مورد نیاز SSH را پشتیبانی کند. اگر“K9 در اسم فایل IOS  موجود باشد، شما قادر به راه اندازی SSH  می باشید.
برای کنترل نسخه IOS مورد استفاده بروی روتر یا سوئیچ از دستور  show version# استفاده می شود.
Press RETURN to get started.
Router>enable
Router#show version
Cisco IOS Software, 1841 Software (C1841-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc..
 

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

۱- تنظیم Hostname روی Router یا Switch سیسکو (Hostname اسم دستگاه شما)
Router>enable
Router#configure terminal
Router(config)#hostname hamami
hamami(config)#
 
۲-تعیین یک Domain Name برای اتصالات (SSH (domain name نام دامین یا مجموعه شما خواهد بود
دلیل تعریف domain name  این است که ما برای private key  و public key نیاز به یک دامین داریم :
hamami>enable
hamami #configure terminal
hamami (config)#ip domain-name Hamami.ir 
۳-تعیین IP Address برای دسترسی از راه دور به ورتر یا سوئیچ سیسکو
حالا اگر از روتر استفاده می کنید باید به یکی از پورت های شبکه اترنت IP بدهید اما اگر از سوییچ استفاده می کنید چون سوئیچ یک دستگاه لایه ۲ ای می باشد و IP لایه ۳ است، باید یک اینترفیس مجازی Interface Vlan بسازیم و به آن IP تخصیص دهیم.
hamami >enable
hamami #configure terminal
hamami (config)#interface vlan 1
hamami (config-if)#ip address 192.168.1.1 255.255.255.0
hamami (config-if)#no shutdown
hamami (config-if)#
%LINK-5-CHANGED: Interface Vlan1, changed state to up
 
۴ -تعیین کلیدهای Crypto Key برای رمزنگاری اطلاعات در پروتکل SSH
از آنجایی که SSH داده های ارسالی را رمزنگاری میکند نیاز است تا یک کلید (RSA Key) برای این کار تولید کنیم.
SSH برای Encrypt کردن ارتباط نیاز به یک کلید دارد. این کلید بوسیله روتر یا سوئیچ شما تولید و استفاده می شود. برای این کار می توانید از دستور crypto key generate rsa استفاده کنید. طول  کلید  تولید  شده  می تواند از ۳۶۰ تا ۴۰۹۶  بیت متغیر باشد.
نکته : هر چه طول کلید بیشتر باشد، امنیت بالاتر ولی Load بروی دستگاه بیشتر خواهد بود. به صورت پیش فرض ۵۱۲ بیت انتخاب می شود.مقدار ۵۱۲ طول پیشفرض کلید شماست، اگر امنیت بیشتری میخواهید از ۱۰۲۴ یا حتی مقدار بیشتری استفاده کنید. اگر ۵۱۲ انتخاب شماست کافی است اینتر را بزنید.
نکته : در صورتی که خواسته باشیم از ssh ورژن 2 استفاده کنیم باید طول کلید حداقل 768 بیت باشد
hamami >enable
hamami #configure terminal
hamami (config)#crypto key generate rsa
The name for the keys will be: hamami.hamami.ir
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable…[OK]
hamami (config)# 
 ۵-تعریف یک کاربر و کلمه عبور به صورت Local
بر روی Router یا  Switchبرای راه اندازی SSH نیاز  به  ساختن  یک User Account  بروی  روتر یا سوئیچ  دارید. برای این کار می توانید از دستور username در IOS سیسکو استفاده کنید.
نکته : می توان user account را خارج از روتر نیز ساخت
hamami >enable
hamami #configure terminal
hamami (config)#username hamami password cisco
hamami (config)#exit 
۶-فعال کردن SSH و Telnet بر روی پورت های VTY
لاین VTY در واقع درگاه مجازی برای ارتباطات مدیریتی روتر یا سوئیچ می باشد و Authentication جهت اتصال را به Local Database روتر یا سوئیچ که یک User Account بروی آن ساختید ارجاء دهید
hamami >enable
hamami #configure terminal
hamami (config)#line vty 0 15
hamami (config-line)#login local
 
نکته :
به طور پیش فرض به روتر یا سویچ میتوان Telnet و SSH زد. در صورتی که میخواهید برای افزایش ایمنی، Telnet بسته شود و فقط SSH به روتر زده شود، از دستور زیر در line vty استفاده کنید:
Hamami (config)#line vty 0 15
Hamami (config-line)#transport input {all | none | ssh | telnet}
اگر میخواهید کاربران بتوانند از local router به remote router ها فقط SSH بزنند، از دستور زیر استفاده کنید:
hamami(config)#line vty 0 15
hamami(config-line)#transport output ssh 
۷-تعیین نسخه ۲ پروتکل SSH
راه اندازی SSH بروی روتر یا سوئیچ، برای بالا بردن امنیت لازم است که نسخه SSH را به نسخه ۲ ارتقاء دهیم. برای ارتقاء نسخه SSH از دستور IP SSH Version 2  استفاده می شود
نکته : برای راه اندازی نسخه ۲ SSH حداقل طول کلید را باید ۷۶۸ بیت انتخاب کرده باشید.
hamami >enable
hamami #configure terminal
hamami (config)#ip ssh version 2
حال شما میتوانید از کامپیوتر مورد نظر در داخل شبکه به سوئیچ یا روتر کانفیگ شده خود توسط دستور زیر SSH بزنید .
بر روی سیستم خود وارد محیط  Command Prompt میشوید و ابتدا IP که به سویچ و یا روتر اختصاص دادیم را PING میکنیم در صورت امکان PING موفق با دستور زیر به روتر و یا سوئیچ مورد تظر SSH میزنیم .
PC>ssh -l hamami 192.168.1.1
Open
Password: cisco
hamami #