SSH

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

SSH ( Secure Shell ) - мережевий протокол, що дозволяє виробляти віддалене управління комп'ютером і передачу файлів. Схожий за функціональністю з протоколом Telnet і rlogin , проте використовує алгоритми шифрування переданої інформації.

Криптографічний захист протоколу SSH не фіксована , можливий вибір різних алгоритмів шифрування. Клієнти і сервери , що підтримують цей протокол , доступні для різних платформ. Крім того , протокол дозволяє не тільки використовувати безпечний віддалений shell на машині , але й туннелировать графічний інтерфейс - X Tunnelling (тільки для Unix- подібних ОС або додатків, що використовують графічний інтерфейс X Window System ) . SSH також здатний передавати через безпечний канал ( Port Forwarding ) будь-який інший мережевий протокол , забезпечуючи ( при належному конфігуруванні ) можливість безпечного пересилання не тільки X - інтерфейсу , а й, наприклад , звуку.

Підтримка SSH реалізована у всіх UNIX системах , і на більшості з них в числі стандартних утиліт присутні клієнт і сервер ssh . Існує безліч реалізацій SSH- клієнтів і для не UNIX ОС. Велику популярність протокол отримав після широкого розвитку sniffer'ов , як альтернативне небезпечному ТЕЛНЕТ рішення для управління важливими вузлами.

Схема роботи

Ось як працює ssh  : при запиті клієнта сервер повідомляє йому , які методи аутентифікації він підтримує (це визначається в опції PreferredAuthentications sshd.conf ) і клієнт по черзі намагається перевірити їх. За замовчуванням клієнт спочатку намагається аутентифицироваться своєю адресою , потім публічним ключем і , якщо нічого не спрацювало , передає пароль, введений з клавіатури ( при цьому пароль шифрується асиметричним шифруванням ) . Після проходження аутентифікації одним з методів з наявних у клієнта і сервера пар ключів генерується ключ симметрического шифрування , який, як я описував у вступі, генерується на підставі свого секретного та віддаленого публічного ключів. Після чого всі наступні дані, передані через ssh , шифруються даними ключем (зазвичай використовується алгоритм aes з довжиною ключа 128 біт). Зазначу , що протокол ssh версії 1 мав деякі баги в шифрации переданого трафіку і був по суті методом безпечної аутентифікації , тому за сучасними мірками даний протокол вважається небезпечним.

Способи аутентифікації користувачів через SSH :

  • За адресою клієнта
  • По публічному ключу
  • Звичайна парольний аутентифікація