Konfigurowanie Secure Shell na routerach i przełącznikach Cisco IOS

wprowadzenie

Secure Shell (SSH) to protokół, który zapewnia bezpieczne połączenie zdalnego dostępu do urządzeń sieciowych. Komunikacja pomiędzy Klientem a serwerem jest szyfrowana zarówno w wersji SSH 1, jak i SSH 2. Zaimplementuj SSH w wersji 2, gdy jest to możliwe, ponieważ wykorzystuje on bardziej ulepszony algorytm szyfrowania zabezpieczeń.,

w tym dokumencie opisano, jak skonfigurować i debugować SSH na routerach lub przełącznikach Cisco, które obsługują wersję oprogramowania Cisco IOS® obsługującą SSH. Ten dokument zawiera więcej informacji na temat konkretnych wersji i obrazów oprogramowania.

wymagania wstępne

wymagania

używane komponenty

informacje w tym dokumencie są oparte na oprogramowaniu Cisco IOS 3600 (C3640-IK9S-m), Wydanie 12.2(2)T1.

SSH został wprowadzony do tych platform i obrazów Cisco IOS:

  • SSH Wersja 1.,Serwer 0 (SSH v1) został wprowadzony na niektórych platformach i obrazach Cisco IOS, które zaczynają się w wersji oprogramowania Cisco IOS 12.0.5.S.

  • klient SSH został wprowadzony na niektórych platformach i obrazach Cisco IOS począwszy od wersji oprogramowania Cisco IOS 12.1.3.T.

  • SSH Terminal-line access (znany również jako reverse-Telnet) został wprowadzony na niektórych platformach i obrazach Cisco IOS począwszy od wersji oprogramowania Cisco IOS 12.2.2.T.

  • obsługa SSH w wersji 2.0 (SSH v2) została wprowadzona na niektórych platformach i obrazach Cisco IOS począwszy od wydania oprogramowania Cisco IOS 12.1 (19) E.,

  • zobacz Jak skonfigurować SSH na przełącznikach Catalyst z systemem CatOS, aby uzyskać więcej informacji na temat obsługi SSH w przełącznikach.

zapoznaj się z programem Software Advisor (tylko zarejestrowani klienci), aby uzyskać pełną listę zestawów funkcji obsługiwanych w różnych wersjach oprogramowania Cisco IOS i na różnych platformach.

informacje przedstawione w tym dokumencie zostały utworzone z urządzeń w określonym środowisku laboratoryjnym. Wszystkie urządzenia użyte w tym dokumencie rozpoczęły się od wyczyszczonej (domyślnej) konfiguracji., Jeśli jesteś w aktywnej sieci, upewnij się, że rozumiesz potencjalny wpływ dowolnej komendy przed jej użyciem.

konwencje

zapoznaj się z konwencjami Cisco Technical Tips, aby uzyskać więcej informacji o konwencjach dokumentów.

SSH v1 vs.SSH v2

użyj Cisco Software Advisor (tylko zarejestrowani klienci), aby pomóc Ci znaleźć wersję kodu z odpowiednią obsługą SSH v1 lub SSH v2.,

schemat sieci

Test uwierzytelniania

Test uwierzytelniania bez SSH

najpierw przetestuj uwierzytelnianie bez SSH, aby upewnić się, że uwierzytelnianie działa z routerem Carter przed dodaniem SSH. Uwierzytelnianie może odbywać się przy użyciu lokalnej nazwy użytkownika i hasła lub serwera uwierzytelniania, autoryzacji i księgowości (AAA), na którym działa TACACS+ lub RADIUS. (Uwierzytelnianie za pomocą hasła linii nie jest możliwe przy użyciu SSH.,) Ten przykład pokazuje uwierzytelnianie lokalne, które pozwala Telnet do routera z nazwą użytkownika „cisco” i hasłem ” cisco.”

!--- The aaa new-model command causes the local username and password on the router !--- to be used in the absence of other AAA statements.aaa new-modelusername cisco password 0 ciscoline vty 0 4transport input telnet!--- Instead of aaa new-model, you can use the login local command.

Test uwierzytelniania za pomocą SSH

aby przetestować uwierzytelnianie za pomocą SSH, musisz dodać do poprzednich instrukcji, aby włączyć SSH na Carter i przetestować SSH ze stacji PC i UNIX.

ip domain-name rtp.cisco.com!--- Generate an SSH key to be used with SSH.crypto key generate rsaip ssh time-out 60ip ssh authentication-retries 2

w tym momencie polecenie show crypto key mypubkey RSA musi pokazywać wygenerowany klucz., Po dodaniu konfiguracji SSH sprawdź, czy masz dostęp do routera z poziomu komputera PC i UNIX station. Jeśli to nie zadziała, zobacz sekcję debugowanie tego dokumentu.

opcjonalne ustawienia konfiguracji

Zapobiegaj połączeniom innym niż SSH

Jeśli chcesz zapobiegać połączeniom innym niż SSH, dodaj polecenie transport input SSH pod liniami, aby ograniczyć Router tylko do połączeń SSH. Telnety proste (nie SSH) są odrzucane.,

line vty 0 4!--- Prevent non-SSH Telnets.transport input ssh

Test, aby upewnić się, że użytkownicy spoza SSH nie mogą Telnet do routera Carter.

Skonfiguruj Router IOS lub przełącz jako klienta SSH

aby włączyć obsługę SSH na routerze Cisco IOS, należy wykonać cztery kroki:

  1. Skonfiguruj polecenie Nazwa hosta.

  2. Konfiguracja domeny DNS.

  3. Wygeneruj klucz SSH do użycia.

  4. włącz obsługę transportu SSH dla wirtualnego terminala typu (vtys).,

Jeśli chcesz, aby jedno urządzenie działało jako klient SSH dla drugiego, możesz dodać SSH do drugiego urządzenia o nazwie Reed. Urządzenia te znajdują się następnie w układzie klient-serwer, gdzie Carter działa jako serwer, a Reed jako klient. Konfiguracja klienta SSH Cisco IOS na Reed jest taka sama jak wymagana dla konfiguracji serwera SSH na Carter.,

Wyślij to polecenie do SSH z Klienta Cisco IOS SSH (Reed) na serwer Cisco IOS SSH (Carter) w celu przetestowania tego:

  • SSH v1:

    ssh -l cisco -c 3des 10.13.1.99
  • SSH v2:

    ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -l cisco 10.31.1.99

skonfiguruj router z systemem iOS jako serwer SSH, który wykonuje uwierzytelnianie użytkownika oparte na RSA

wykonaj te kroki, aby skonfiguruj serwer SSH do uwierzytelniania opartego na RSA.,

Dodaj dostęp do terminala SSH

Jeśli potrzebujesz uwierzytelniania wychodzącego terminala SSH, możesz skonfigurować i przetestować SSH pod kątem wychodzącego odwrotnego Telnetu przez Carter, który działa jako serwer komunikacyjny do Philly.,gh Carter z Reed za pomocą tego polecenia:

  • SSH v1:

    ssh -c 3des -p 2002 10.13.1.99
  • SSH v2:

    ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -p 2002 10.31.1.99

możesz użyć tego polecenia z Solaris:

ssh -c 3des -p 2002 -x -v 10.13.1.99

Ogranicz dostęp SSH do podsieci

musisz ograniczyć łączność SSH do określonej podsieci, gdzie wszystkie inne próby SSH z IPS spoza podsieci powinny zostać odrzucone.,

możesz użyć tych kroków, aby wykonać to samo:

  1. Zdefiniuj listę dostępu, która zezwala na ruch z danej podsieci.

  2. Ogranicz dostęp do interfejsu linii VTY za pomocą klasy access.

jest to przykładowa konfiguracja. W tym przykładzie dozwolony jest tylko dostęp SSH do podsieci 10.10.10.0 255.255.255.0, każda inna jest pozbawiona dostępu.

Uwaga: Ta sama procedura blokowania dostępu SSH ma zastosowanie również na platformach switch.,Configure the SSH Version

Configure SSH v1:

carter(config)#ip ssh version 1

Configure SSH v2:

carter(config)#ip ssh version 2

Configure SSH v1 and v2:

carter(config)#no ip ssh version

Note: You receive this error message when you use SSHv1:

%SCHED-3-THRASHING: Process thrashing on watched message event.

Note: Cisco bug ID CSCsu51740 (registered customers only) is filed for this issue., Obejście problemu polega na skonfigurowaniu SSHv2.

wariacje na wyjściu polecenia banner

wyjście polecenia banner różni się między Telnet i różnymi wersjami połączeń SSH. Poniższa tabela pokazuje, jak różne opcje poleceń banner działają z różnymi typami połączeń.,

opcja polecenia banera tylko SSH v1 ssh V1 i V2 tylko SSH V2
banner login wyświetlane przed zalogowaniem do urządzenia. nie Wyświetlono. wyświetlane przed zalogowaniem się do urządzenia., wyświetlane przed zalogowaniem się do urządzenia.
Banner motd wyświetlany przed zalogowaniem się do urządzenia. wyświetlane po zalogowaniu do urządzenia. wyświetlane po zalogowaniu do urządzenia. wyświetlane po zalogowaniu do urządzenia.
banner exec wyświetlany po zalogowaniu do urządzenia., wyświetlane po zalogowaniu do urządzenia. wyświetlane po zalogowaniu do urządzenia. wyświetlane po zalogowaniu do urządzenia.

nie można wyświetlić banera logowania

SSH Wersja 2 obsługuje baner logowania. Baner logowania jest wyświetlany, jeśli klient SSH wyśle nazwę Użytkownika podczas inicjowania sesji SSH z routerem Cisco. Na przykład, gdy używany jest Klient Secure Shell ssh, wyświetlany jest baner logowania., Gdy używany jest klient PuTTY SSH, baner logowania nie jest wyświetlany. Dzieje się tak, ponieważ Secure Shell domyślnie wysyła nazwę Użytkownika, a PuTTY domyślnie nie wysyła nazwy użytkownika.

Klient Secure Shell potrzebuje nazwy użytkownika, aby zainicjować połączenie z urządzeniem z obsługą SSH. Przycisk Połącz nie jest włączony, jeśli nie podasz nazwy hosta i nazwy użytkownika. Ten zrzut ekranu pokazuje, że baner logowania jest wyświetlany, gdy Secure Shell łączy się z routerem. Następnie wyświetli się monit o hasło baneru logowania.,

klient PuTTY nie wymaga nazwy użytkownika do inicjowania połączenia SSH z routerem. Ten zrzut ekranu pokazuje, że Klient PuTTY łączy się z routerem i pyta o nazwę użytkownika i hasło. Nie wyświetla banera logowania.

ten zrzut ekranu pokazuje, że baner logowania jest wyświetlany, gdy PuTTY jest skonfigurowany do wysyłania nazwy użytkownika do routera.,

Debuguj i pokaż polecenia

zanim wydasz polecenia debugowania opisane i zilustrowane tutaj, zapoznaj się z ważnymi informacjami na temat poleceń debugowania. Niektóre polecenia show są obsługiwane przez Interpreter wyjściowy (tylko zarejestrowani klienci), który pozwala na przeglądanie analizy wyjścia polecenia show.

  • Debug ip ssh—wyświetla komunikaty debugowania dla SSH.

  • show ssh†” wyświetla status połączeń serwera SSH.,

    carter#show ssh Connection Version Encryption State Username 0 1.5 DES Session started cisco
  • show ip ssh—wyświetla dane wersji i konfiguracji dla SSH.,

  • Version 1 Connection and no Version 2

    carter#show ip ssh SSH Enabled - version 1.5 Authentication timeout: 60 secs; Authentication retries: 2
  • Version 2 Connection and no Version 1

    carter#show ip ssh SSH Enabled - version 2.0 Authentication timeout: 120 secs; Authentication retries: 3
  • Version 1 and Version 2 Connections

    carter#show ip ssh SSH Enabled - version 1.99 Authentication timeout: 120 secs; Authentication retries: 3

Sample Debug Output

Router Debug

Note: Some of this good debug output is wrapped to multiple lines because of spatial considerations.,

debugowanie serwera

uwaga: to wyjście zostało przechwycone na maszynie Solaris.

co może pójść źle

te sekcje mają Przykładowe wyjście debugowania z kilku nieprawidłowych konfiguracji.,

SSH z klienta SSH nie skompilowanego ze standardem szyfrowania danych (DES)

Solaris Debug

Router Debug

Bad Password

Router Debug

klient SSH wysyła nieobsługiwany szyfr (Blowfish)

Router Debug

Geting the „%SSH-3-privatekey: nie można pobrać klucza prywatnego RSA dla” błąd

Jeśli otrzymasz ten Komunikat o błędzie, może to być spowodowane zmianą nazwy domeny lub nazwy hosta. Aby rozwiązać ten problem, wypróbuj te obejścia.

  • zeruje klucze RSA i ponownie generuje klucze.,

    crypto key zeroize rsa label key_namecrypto key generate rsa label key_name modulus key_size
  • jeśli poprzednie obejście nie działa, spróbuj wykonać następujące kroki:

    1. Zeruj wszystkie klucze RSA.

    2. Przeładuj urządzenie.

    3. Utwórz nowe oznaczone klucze dla SSH.

błąd Cisco CSCsa83601 (tylko zarejestrowani klienci) został zgłoszony w celu rozwiązania tego zachowania.

Wskazówki dotyczące rozwiązywania problemów

  • Jeśli Twoje polecenia konfiguracyjne SSH zostaną odrzucone jako nielegalne, Nie wygenerowano pomyślnie pary kluczy RSA dla Twojego routera., Upewnij się, że podałeś nazwę hosta i domenę. Następnie użyj polecenia Crypto Key generate RSA, aby wygenerować parę kluczy RSA i włączyć serwer SSH.

  • podczas konfigurowania pary kluczy RSA mogą pojawić się następujące komunikaty o błędach:

    1. Nie podano nazwy hosta

      należy skonfigurować nazwę hosta dla routera za pomocą polecenia Konfiguracja globalna nazwy hosta.

    2. Nie podano domeny

      musisz skonfigurować domenę hosta dla routera za pomocą polecenia globalnej konfiguracji domeny ip.,

  • liczba dopuszczalnych połączeń SSH jest ograniczona do maksymalnej liczby VTY skonfigurowanych dla routera. Każde połączenie SSH używa zasobu vty.

  • SSH wykorzystuje zabezpieczenia lokalne lub protokół bezpieczeństwa skonfigurowany przez AAA na routerze do uwierzytelniania użytkownika. Podczas konfigurowania AAA należy upewnić się, że konsola nie działa w trybie AAA, stosując słowo kluczowe w trybie konfiguracji globalnej, aby wyłączyć AAA na konsoli.

  • brak uruchomionych połączeń serwera SSH.,

    carter#show ssh%No SSHv2 server connections running.%No SSHv1 server connections running.

    to wyjście sugeruje, że serwer SSH jest wyłączony lub nie włączony poprawnie. Jeśli masz już skonfigurowany SSH, zaleca się ponowną konfigurację serwera SSH w urządzeniu. Wykonaj te kroki, aby ponownie skonfigurować serwer SSH na urządzeniu.

    1. Usuń parę kluczy RSA. Po usunięciu pary kluczy RSA serwer SSH jest automatycznie wyłączany.,

      carter(config)#crypto key zeroize rsa

      Uwaga: ważne jest, aby wygenerować parę kluczy o rozmiarze co najmniej 768 bitów po włączeniu SSH v2.

      Uwaga: polecenia tego nie można cofnąć po zapisaniu konfiguracji, a po usunięciu kluczy RSA nie można używać certyfikatów lub CA ani uczestniczyć w wymianie certyfikatów z innymi rówieśnikami IP Security (IPSec), chyba że ponownie skonfigurujesz interoperacyjność CA poprzez regenerację kluczy RSA, uzyskanie certyfikatu CA i ponowne żądanie własnego certyfikatu.,Więcej informacji na temat tego polecenia można znaleźć w Crypto key zeroize RSA – Cisco IOS Security Command Reference, Release 12.3.

    2. ponownie skonfiguruj nazwę hosta i nazwę domeny urządzenia.

      carter(config)#hostname hostnamecarter(config)#ip domain-name domainname
    3. Wygeneruj parę kluczy RSA dla routera, która automatycznie włącza SSH.

      carter(config)#crypto key generate rsa

      zapoznaj się z Crypto key generate RSA – Cisco IOS Security Command Reference, Release 12.3 aby uzyskać więcej informacji na temat korzystania z tego polecenia.,

      Uwaga: możesz otrzymać komunikat o błędzie SSH2 0: Unexpected mesg type z powodu odebranego pakietu, który jest niezrozumiały dla routera. Zwiększ długość klucza podczas generowania kluczy rsa dla ssh, aby rozwiązać ten problem.

    4. Konfiguracja serwera SSH. Aby włączyć i skonfigurować router/przełącznik Cisco dla serwera SSH, można skonfigurować parametry SSH. Jeśli nie skonfigurujesz parametrów SSH, używane są wartości domyślne.,ip ssh {/}

      carter(config)# ip ssh

      Więcej informacji na temat użycia tego polecenia można znaleźć w dokumencie ip SSH – Cisco IOS Security Command Reference, Release 12.3.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *