راه اندازی 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 #

گذاشتن پسورد برای Line Console در سیسکو

در پست قبلی قرار دادن پسورد برای enable mode را آموزش دادیم.در این پست قصد داریم آموزش گذاشتن پسورد روی line console را قرار دهیم تا اگر کسی خواست از طریق پورت کنسول به سوئیچ وصل شود.
به دو روش ما می توانیم برای line console در cisco پسورد قرار دهیم :
روش اول :
در این روش ما برای Line console پسوردی می گذاریم.
هنگامی که دستور login را وارد می کنیم رمز عبور خود Line console که وارد کرده ایم را بکار میگیرد و نکته دیگر اینکه ما فقط یک پسورد می توانیم قرار دهیم بدین معنا که با هر بار قرار دادن رمز عبور این پسورد جایگزین پسورد قبلی می گردد.

 

قرار دادن hostname  و enable password :
switch>enable
switch#configure terminal
Switch(config)#hostname hamami
hamami(config)#enable secret 123456
hamami(config)#line console 0
hamami(config-line)#password 123456
hamami(config-line)#login
hamami#exit
برای حذف password از دستور no password استفاده می کنیم.
hamami>enable
hamami#configure terminal

hamami(config)#line console 0
hamami(config-line)#no password
hamami(config)#exit
روش دوم :
در این روش ابتدا username و password ساخته و سپس به Line Console میگوییم از local سیستم کلمه و رمز عبور را تایید کند به طور مثال هنگامی که قصد داریم برای هر کارمند یک username و password برای ورود به Line Console  ایجاد کنیم از این روش استفاده می کنیم.
توجه داشته باشید که در روش اول ، ابتدا به Line Console راه می یابیم و password را قرار داده و Login می کنیم ولی در مرحله دوم ابتدا User Name و Password ها را ساخته سپس وارد Line Console شده و دستور login local را می زنیم.
hamami>enable
hamami#configure terminal
hamami(config)#username hamami password 123456
hamami(config)#exit

hamami>enable
hamami#configure terminal
hamami(config)#line console 0
hamami(config)#login local
hamami(config)#exit
اکنون در صورتی که قصد داشته باشیم بخشی را که از ما username و password می خواهد را حذف کنیم در Line Console  دستور no Login Local را وارد می کنیم. چنانچه Show run بگیریم با این که می توانیم کلمه کاربری و رمز عبورهایی را که روی دستگاه قرار داده بودیم ببینیم ولی در صورت برگشت به نقطه اول جهت ورود دیگر از ما User Nameو Password را نمی پرسد. در نتیجه جهت غیرفعال نمودن نیز همان مکانی که Login یا Login Local می کردیم یک No  به ابتد آن می افزاییم.
hamami>enable
hamami#configure terminal
hamami(config)#line console 0
hamami(config-line)#no login local
hamami(config)#exit

ست کردن پسورد درenable mode سوئیچ سیسکو

در enable Mode پسورد به دو شکل بر روی روتر قرار می گیرد : حالت اول به صورت رمزنگاری نشده و حالت دوم به صورت رمزنگاری شده
برای قرار دادن پسورد رمزنگاری نشده یا Enable Password به روش زیر عمل می کنیم :
Switch#config t
Switch(config)#enable password 123456
در حالت اول به دلیل رمزنگاری نشدن پسورد براحتی این رمز عبور قابل مشاهده می باشد ، برای اینکه رمز عبور شما بصورت رمزنگاری شده در روتر نگهداری شود شما می توانید با استفاده از دستور Enable Secret به روش زیر پسورد رمزنگاری شده روی روتر قرار دهید :
Switch#config t
Switch(config)#enable secret 123456
 
نکته : در قسمت enable Mode هم میتوان Password و هم Secret را فعال کرد ولی نمیتوان کلمه عبور مشابه داد (با وارد کردن کلمه ی مشابه سیسکو به شما برای تعویض کلمه عبور اخطار میده) و پیش فرض سیسکو به این صورت میباشد که با فعال شدن Secret دیگر کلمه ی عبور فعال شده در Password از شما درخواست نمیشود و غیر فعال میشود چون از لحاظ امنیت Secret قوی تر  میباشد، پس لزومی بر فعال کردن هر دو مورد نمیباشد.
نکته : برای برداشتن پسورد از دستور no enable password استفاده می کنیم.
برای دیدن تنظیماتی که انجام داده ایم باید به محیط enable وارد شده و از دستور show running-config استفاده می کنیم.
نکته : دستور service password-encryption تمامی پسوردها را رمز گذاری می کند.
Switch> enable
Switch#config t
Switch(config)# enable password 123456
Switch(config)# enable secret 123456
Switch(config)# service password-encryption
با زدن دستور show running-config در محیط enable  :
Switch# show running-config
Building configuration…
Current configuration : 1116 bytes
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
hostname Switch
enable secret 5 $1$mERr$H7PDxl7VYMqaD3id4jJVK/
enable password 7 08701E1D5D4C53

cisco mode

مودهای مختلف در سوئیچ سیسکو

4 mode در سوئیچ سیسکو وجود دارد :
switch>    (user mode)- 1
2- (switch#      (privilege mode
3- (switch(config)#     (configuration mode
4- (switch(config-line)#      (line configuration mode
User mode : 
ساده ترین mode که تقریبا هیچ commend مهمی نمیتوان به جز ریپورت از دستگاه و مشخصات فیزیکی آن گرفت  مثل :
 show version show flash
privilege mode  :
برای ورود به این mode باید از دستور “enable”  و خروج از آن از دستور “disable”  استفاده کنیم. در این mode میتوان ریپورت از تمامی تنظیمات در حال اجرا روی سوئیچ دید.
Config mode :
برای ورود “configure terminal” و خروج “exit” را میزنیم تمامی تنظیمات روی سوئیچ از این mode و در  context های مختلف آن صورت میگیرد.
لازم به ذکر است در mode config نیز میتوان گزارش از تنظیمات دید به این صورت که در همین mode به جای PRIVILEGE  از “do” ابتدا هر commend که میخواهیم استفاده میکنیم.
Switch(config) # do show interfaces brief
نکته : با زدن ؟ می توان تمامی دستورات قابل استفاده در آن mode را مشاهده کرد.