بسیاری از مدیران شبکه کاملا به این حقیقت آگاه هستند که استفاده از Telnet برای انتفال متون حفاظت نشده در روترها، سوئیچ ها و فایروال ها ایمنی لازم را ندارد. ترافیک Telnet اساسا نام کاربری و کلمه عبور را در دسترس افرادی که دائم به شبکه ها حمله می کنند می گذارد و این افراد دقیقا افرادی هستند که قصد سوء استفاده از این اطلاعات جهت دسترسی به دستگاه های شبکه را دارند.بهترین جایگزین برای Telnet با مشکلات امنیتی مختص به خودش، SSH  می باشد. دقیقا شبکه Telnetشما می توانید از SSH برای دسترسی به دستورات IOS روی شبکه استفاده کنید یا اینکه قادر خواهید بود فایل های خود را در بستر شبکه انتقال داده و روی دستگاه خاصی کپی کنید اما با SSH به دلیل استفاده از کدگذاری و امضای دیجیتال دیگر نگران موارد امنیتی و لو رفتن اطلاعات نخواهید بود.telnet



در حال حاضر دو ورژن Secure Shellموجود است یعنی SSH1 و SSH2 و Cisco IOS 12.1(3)T اولین ورژنی بود که SSH1 را پشتیبانی می کرد هرچند نیاز به استاندارد کدگذاری اطلاعات DES یا 3DES را داشت.
ورژن های بعدی IOS یعنی 12.3  تا 12.3(4)T ، 12.2(25)S و 12.3(7)JAو نسخه های بعدی  اولین نسخه هایی بودند که از SSH2 پشتیبانی می کردند که نیازمند IOS ای بودند که از 3DESپشتیبانی می کرد. IOSای که ای که 3DES را پشتیبانی می کند K9در نام فایل خود دارد.این مهم است که بدانید SSH1وSSH2دو پروتکل کاملا متفاوت هستند. SSH2 امنیت بیشتری را ارائه می دهد و پیشنهاد من این است که در صورت امکان از این ورژن استفاده کنید هرچند که SSH1 بسیار بهتر از Telnet می باشد. آن شما را در برابر حملات معمولی که به شنود روی شبکه شما برای پیدا کردن کلمه عبور ادامه می دهند حفاظت خواهد کرد.
Cisco IOS هردو نسخه SSH Server و SSH client را پیشنهاد می دهد لذا شما قادر خواهید بود از طریق SSH Client به SSH Server روتر خود وصل شوید.
حال نحوه تنظیم SSHرا برروی یک Cisco IOS توضیح می دهم. این تنظیمات کاملا شبیه تنظیمی می باشد که شما برروی یک Cisco Switchیا Cisco Firewall مورد نیاز خواهید داشت.
بطور مثال کار خود را با یک روتر Cisco 2611 با IOS ای با ورژن 12.2(15)T9 که شامل کدگذاری 3DESاست آغاز می کنم. فایل مربوط به این IOS نامی به صورت c2600-ik9o3s3-mz.122-15.T9.bin دارد.
ابتدا از داشتن hostname  روی روتر خود مطمئن شوید. برای انجام این منظور از دستور زیر استفاده کنید:

Router(config)# hostname TR-Router
TR-Router(config)#

سپس نام دامنه یا  domain name را با استفاده از دستور ip domain-name روی روتر تنظیم کنید. در اینجا مثالی را برای شما آورده ام:

TR-Router(config)# ip domain-name TechRepublic.com
TR-Router(config)#

پس از این قسمت شما باید کلید RSA encryption  را جهت استفاده در authentication و  encryption داده SSH تنظیم کنید. یکی از سوال هایی که در این مرحله باید به آن پاسخ دهید اندازه ماژول کلید است. اندازه کلید ماژول حداقل باید 768 بیت باشد. در اینجا مثالی را برای شما آورده ام:

TR-Router(config)# crypto key generate rsa
The name for the keys will be: TR-Router.TechRepublic.com
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]: 768
% Generating 768 bit RSA keys ...[OK]

TR-Router(config)#
*Mar  1 00:17:13.337: %SSH-5-ENABLED: SSH 1.5 has been enabled
TR-Router(config)#

همانطور که در این مثال می بینید، پس از اینکه سیستم کلید خود را تولید می کند شما پیغامی را دریافت می کنید که بطور اتوماتیک SSH1.5را برروی روتر تولید می کند. این پیغام نشاندهنده این است که سیستم SSH1را بر روی روتر فعال نموده است. در صورتیکه سیستم کلید را برای هردو نسخه SSH1 و SSH2 تولید کرده باشد پیغامی که به شما می دهد نمایانگر فعال شدن SSH1.99 خواهد بود. درصورتیکه تنها SSH2فعال شده باشد سیستم پیغام فعال شدن پیغام را تنها بصورت SSH2.0 نمایش خواهد داد.
همچنین شما قادر خواهید بود تنظیمات SSH را انجام دهید برای این منظور  از دستور ip ssh را به همراه پارامترهای آن می توانید استفاده کنید. بدیهی است که نسخه های متفاوت IOS پارامترهای مختلفی را به دلیل استفاده از نسخه های متفاوت SSH خواهند داشت. در اینجا مثالی آورده شده است :

TR-Router(config)# ip ssh ?
authentication-retries Specify number of authentication retries
Port                   Starting (or only) port number to listen
on
Rsa                    Configure RSA keypair name for SSH 
source-interface       Specify interface for source address in SSH
connections
time-out               Specify SSH time-out interval

TR-Router(config)# ip ssh

تنظیم انتخابی SSH تنظیم SSH را روی روتر کامل کرده و به انتها می رساند. حال نگاهی به وضعیت SSH می اندازیم لذا برای این منظور از دستورات زیر استفاده می کنیم :
•    Use show ip ssh to view SSH settings.
•    Use show ssh to view SSH connections.

مثال:

TR-Router# show ip ssh
SSH Enabled - version 1.5
Authentication timeout: 120 secs; Authentication retries: 3
TR-Router# show ssh
%No SSH server connections running.
TR-Router#

همچنین شما می توانید از Buil-in SSH Client برای اتصال به سایر SSH Server ها استفاده کنید. دستور پیشفرض ssh خواهد بود. در اینجا مثاالی آورده شده است :

TR-Router# ssh ?
-c    Select encryption algorithm
-l    Log in using this username
-o    Specify options
-p    Connect to this port
WORD  IP address or hostname of a remote system

TR-Router# ssh