پایگاه دانش: شبكه و اينترنت
راه اندازی ssh در سیسکو
ارسال شده توسط عباس پيرنظريان در تاریخ 1390/07/17 05:44 بعد از ظهر

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

یکی از متداولترین روش های اتصال به سخت افزارهای سیسکو استفاده از پروتکل telnet می باشد. حتما با telnet آشنایی دارید.
یک پروتکل که عموما برای مدیریت و کنترل سخت افزار ها از راه دور استفاده می شود. این پروتکل اطلاعات را به صورت clear text میان سرور و کلاینت عبور میدهد, که این امر باعث نا امنی زیادی می شود. چرا که به راحتی می توان با قرار دادن یک Packet capture مانند Wireshark تمامی Packet های عبوری را مشاهده و از اطلاعات آن سو استفاده کرد. البته روشهایی برای امن کردن آن مانند دسترسی تنها چند کامپیوتر خاص به telnet وجود دارد. اما باز هم نمیتوان امنیت آن را تضمین کرد.
یک راه حل مفید برای جایگزینی telnet استفاده از پروتکل SSH است. SSH یا Secure Shell پروتکلی است که اطلاعات را به صورت کد شده میان سرور و کلاینت رد و بدل میکند.
به صورت پیش فرض این پروتکل در روتر ها و سوئیچ های سیسکو غیر فعال است.
این جدول نشان دهنده IOS ها و سخت افزارهایی است که از پروتکل SSH پشتیبانی میکنند.

Router IOS

C1700      12.1(1) and later

C2600      12.1(1) and later

C3600      12.1(1) and later

C7200      12.1(1) and later

C7500      12.1(1) and later

Ubr920     12.1(1) and later

 

CatOS SSH


Cat 4000/4500/2948G/2980G (CatOS)                K9 images as of 6.1

Cat 5000/5500 (CatOS)                                     K9 images as of 6.1

Cat 6000/6500 (CatOS)                                     K9 images as of 6.1

Cat 2950                                                         12.1(12c)EA1 and later

Cat 3550*                                                       12.1(11)EA1 and later

Cat 4000/4500 (Integrated Cisco IOS Software)   12.1(13)EW and later

Cat 6000/5500 (Integrated Cisco IOS Software)   12.1(11b)E and later

Cat 8540/8510                                                 12.1(12c)EY and later, 12.1(14)E1 and later

 

NO SSH Support

Cat 1900                  no
Cat 2800                  no
Cat 2948G-L3            no
Cat 2900XL               no
Cat 3500XL               no
Cat 4840G-L3            no
Cat 4908G-L3            no



برای فعال سازی SSH ابتدا میبایست hostname و domain name را مشخص کنیم:

  • تغییرhostname

Router(config)#hostname PersianAdmins

 

  • مشخص کردنdomain name

PersianAdmins(config)#ip domain-name router1.admins.ir

 حالا باید یک RSA key pair برای روتر خود تولید کنیم. که با تولید این کلید به طور اتوماتیک SSH بر روی روتر شما فعال خواهد شد.

 PersianAdmins(config)#crypto key generate rsa

 

‏IOS از شما خواهد پرسید که طول این کلید چند بیتی باشد. که میتوانید از 360 تا 2048 انتخاب کنید. پیش فرض آن 512 است که توصیه میشود از کلید 1024 بیتی استفاده نمائید.
هم اکنون SSH بر روی روتر شما فعال است و میتوانید بوسیله نرم افزارهای مانند Putty به آن متصل شوید.
لینک دانلود putty:    
‏ 

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

 شما میتوانید بعضی از تنظیمات مانند مدت زمان تبادل کلید ( بین SSH Server و SSH Client ) و تعداد دفعات تلاش برای وارد کردن username و Password را مشخص کنید. مدت زمان تبادل کلید ماگزیمم 120 ثانیه است که به صورت پیش فرض همان 120 ثانیه تنظیم گردیده و تعداد دفعات تلاش برای login 5 دفعه که به صورت پیش فرض 3 دفعه تعیین گردیده است.

 PersianAdmins(config)#ip ssh timeout 100
PersianAdmins(config)#ip ssh authentication-retries 4

 

با دستور زیر هم میتوان اینترفیسی که کانکشن SSH به آن وارو میشود را مشخص کرد:

 PersianAdmins(config)#ip ssh source-interface f0/1

 

 و برای log بر داشتن از کانکشن های SSH :

 

PersianAdmins(config)#ip ssh logging events

 برای غیر فعال نمودن SSH میتوانید از این دستور استفاده کنید:

 

PersianAdmins(config)#crypto key zeroize rsa

 شما میتوانید با دستور زیر وضعیت SSH را چک کنید:

 

PersianAdmins#show ip ssh

 برای مشاهده لیست کانکشن های متصل با SSH

 

PersianAdmins#show ssh

 بقیه تنظیمات SSH از تنظیمات  line vty 0 4 پیروی میکند. تنظیماتی مانند مدت زمان هر کانکشن که پیش فرض در صورت Idle بودن 10 دقیقه است و ماکزیمم 5 کانکشن همزمان پشتیبانی میکند.
ممکن است شما نیاز به مدت زمان زیادی برای باز بودن یک کانشن دارید. حتی اگر استفاده ای از آن نشود و از هر 10 دقیقه یکبار از وارد کردن Username و Password رنج میبرید. میتوانید با این دستور مدت زمان آن را زیاد کنید اما توجه داشته باشید که این کار از لچاظ امنیتی توصیه نمی شود:

 

PersianAdmins(config)#line vty 0 4
PersianAdmins(config-line)#exec-timeout 35

 که این عدد میتوانید بین 0 تا 35791 دقیقه باشد.


در بعضی شبکه ها شما دارای تعداد زیادی روتر و سوئیچ هستید که میبایست با تمامی آنها کار کنید. اینجا یک مشکل به وجود می آید. اگر شما پسورد های مختلف روی آنها قرار بدید به خاطر سپردن آنها خیلی سخت خواهد بود و اگر همه را یکسان بگذارید از لحاظ امنیتی دچار مشکل خواهید شد. چرا که در صورت لو رفتن پسورد یک روتر شما تمامی روترهای خود را از دست خواهید داد.
برای حل این مشکل میتوانیم از یک Radius server استفاده کنیم. Radius دارای یک دیتا بیس است که لیست یوزرهای ما , مشخصات و صفات آنها در آن ثبت میشود. وقتی شما سعی میکنید که به یک روتر متصل شوید آن روتر یوزر و پسورد شما را به Radius میفرستد. اگر آنها درست بودند یک پیغام از Radius به روتر فرستاده میشود و روتر به شمااجازه ورود می دهد. که این کار مزایای دیگری نیز دارد.

  • شما میتوانید زمان ورود و خروج کاربران مختلف را ثبت کنید
  • تنها یک پسورد به خاطر می سپارید
  • میتوانید برای ورود به روتر زمان مشخص کنید
  • سطح دسترسی هر یوزر به روتر قابل کنترل است
  • با یکبار عوض کردن پسورد در تمامی روتر ها پسورد شما عوض خواهد شد


ابتدا میبایست مشخص کنیم که چه درخواست هایی به Radius فرستاده شود

 

PersianAdmins(config)#aaa new-model
PersianAdmins(config)#aaa authentication login shahin group radius local
PersianAdmins(config)#aaa authentication enable default group radius

 

در خط دوم مشخص کرده ایم که چک کردن یوزر و پسورد ورود به روتر به radius برود اگر radius نبود از میان یوزرهای ساخته شده داخل خود روتر چک کند. ما میتوانیم متد های مختلف برای هر اکانتینگ  داشته باشیم. اگر بجای واژه shahin بنویسیم default آنگاه این دستور برای تمامی اینترفیس ها اعمال میشود. اما اگر یک اسم خاص بنویسیم میتوانیم هر اینترفیسی که میخواهیم را به این لیست اضافه کنیم.
خط سوم نیز تمامی درخواست های enable را به radius می فرستد با این تفاوت که روی تمامی اینترفیس ها اعمال شده و فقط از radius چک می شود. یعنی اگر radius قابل دسترس نبود از اطلاعات موجود در روتر استفاده نمی کند.
در مرحله بعد میبایست یک radius server برای روتر مشخص کنیم.

 

PersianAdmins(config)#radius-server host 192.168.9.6  auth-port 1812 acct-port 1813 key 8888

 

که پورت 1812 برای authentication و 1813 برای Accounting مشخص شدند که اینها قرار دادی است و میتوان بسته به radius server آنها را تغییر داد. در آخر هم یک shared-key مشخص کرده ایم که در radius نیز باید آن را وارد کنیم که صرفا جهت بالا بردن ضریب امنیت است.
حال داخل line vty 0 4 مشخص میکنیم که از تنظیمات لیست shahin پیروی کند:

 

PersianAdmins(config)#line vty 0 4
PersianAdmins(config-line)#login authentication shahin

 

شما میتوانید از یک Radius server استاندارد مثل NttacPlus یا IBSng استفاده کنید. یک عدد RAS مشخص کنید و یک یوزر بسازید.
با آن یوزر میتوانید به روتر خود وصل شوید.
در تنظیمات دیدیم که enable نیز به radius فرستاده شد. شما میبایست یک یوزر با نام $enab15$ بسازید و یک پسورد برای آن مشخص کنید. وقتی که دستور enable را در روتر وارد میکنید روتر درخواست شما را با این یوزر به روتر خواهد فرستاد.
و آخرین نکته این که ممکن است در بعضی مواقع لینک ارتباطی شما تا radius دچار مشکل شود به همین دلیل شما قادر به ورود به روتر نخواهید بود. برای مرتفع کردن این مشکل میتوانید یک یوزر با privilege 15 بر روی روتر بسازید. با انجام تنظیمات بالا روتر ابتدا تلاش میکند که به radius متصل شود. در صورت عدم اتصال به radius به شما اجازه خواهد داد که با آن یوزر وارد روتر شوید.

 

PersianAdmins(config)#username reza privilege 15 password 1234

 

و برای گزارش های radius از دستور زیر میتوانید استفاده کنید:

 

PersianAdmins#show radius statistics

 

(0 رأی/آراء)
مفید بود
مفید نبود

نظرات (0)
ارسال نظر جدید
 
 
نام کامل:
ایمیل:
متن نظر:
Help Desk Software by Kayako