Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Kyiv and its Prominent Monuments of Culture


Дата добавления: 2015-10-19; просмотров: 438



SSH[СБЮ9]

Secure Shell, SSH (англ. Secure SHell — «безпечна оболонка») — мережевий протокол рівня застосунків, що дозволяє проводити віддалене управління комп'ютером і тунелювання TCP[СБЮ10] -з'єднань (наприклад, для передачі файлів). Схожий за функціональністю з протоколом Telnet і rlogin, проте шифрує весь трафік, в тому числі і паролі, що передаються.

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

Підтримка SSH реалізована у всіх UNIX [СБЮ11] системах, і на більшості з них в числі стандартних утиліт присутні клієнт і сервер ssh. Існує безліч реалізацій SSH-клієнтів і для не-UNIX ОС. Велику популярність протокол отримав після широкого розвитку сніферів, як альтернативне небезпечному телнету рішення для управління важливими вузлами.

Зараз відомо дві гілки версій — 1 і 2. Проте гілка 1 зупинена, оскільки в кінці 90-х в ній було знайдено багато вразливостей, деякі з яких досі накладають серйозні обмеження на її використання, тому перспективною (такою, що розвивається) і найбезпечнішою є версія 2.

На прикладі: клієнт ноутбук (Kubuntu 14.04) – сервер (Ubuntu 13.14).

Перш за все потрібно встановити програму, яка складається з двох блоків: програми-клієнта, з якого підключаються, та програми-сервера до якої підключаються. За замовчуванням ssh-клієнт (ssh) та ssh-сервери (sshd) встановленні за замовчуванням "з коробки". В противному разі команда на встановлення:

sudo apt-get install ssh

Оскільки ssh знаходиться в залежності з sshd – програму-сервер буде встановлено автоматично, проте автоматично сервер не запускається. Для його запуску потрібно ввести:

sudo service ssh start

Наступним кроком є створення облікового запису, під яким буде здійснено вхід. Можна використовувати обліковий запис, що вже був створений на сервері завчасно (й під яким здійснювалось конфігурування сервера). Проте у цілях безпеки створимо нового користувача в системі. Всі дії повинні відбуватись на сервері.

sudo userdel ssh-klient (де ssh-klient – ім’я нового користувача)

Після чого shell запросить створити новий пароль для користувача. Ввод паролю не буде супроводжуватись ніякими змінами командної стрічки. Це зроблено в цілях безпеки.

Заповнивши кілька пропонованих стрічок (можна залишити їх пустими), отримаємо наступне.

Рис. 23. Створення облікового запису.

Для надання користувачу ssh-klient потрібно внести зміни в файл /usr/sbin/visudo

та дописати у відповідну графу наступне:

# User privilege specification

root ALL=(ALL:ALL) ALL

ssh-klient ALL=(ALL:ALL) ALL

Дана операція наддасть користувачі привілеїв супер-користувача, або, інакшими словами, права root. Такий рівень доступу надає повний контроль на машиною, тому тут потрібно буди обачним.

Вже на даному етапі можна підключатись до сервера, використовуючи "захищений шелл": На комп’ютері-клієнті вводимо наступну команду а вводимо пароль:

ssh [email protected]

Рис. 24. Вхід в віддалену систему.

де ssh – використання програми

ssh-klient – ім’я під яким хочемо здійснити вхід

192.168.0.103 – IP-адреса сервера (можна й доменне ім’я, про це згодом). Підтвердженням успішного входу є зміна облікового запису (в даному випадку з shellshock на ssh-klient), а також відповідна зміна машини (з shellshock-KU на localhost (через особливості реалізації сервера)).

Тепер можна робити все, що забажаєм, так, неначе знаходимось безпосередньо за сервером. Для автоматичного входу, який не потребує підтвердження машини паролем, використовують ключі.

При використанні методу ідентифікації Identity / Pubkey виключається використання статичних паролів. Щоб кожен раз не набирати паролі, які можна перехопити, ми будемо зберігати на диску пару ключів, які й будуть використовуватися для перевірки автентичності.

Ось деякі з позитивних моментів цього типу аутентифікації: Ніхто не зможе увійти на сервер з вашим профілем, так як їм необхідно володіти приватним ключем і кодової фразою. Адміністратор сервера може взагалі прибрати пароль облікового запису, щоб виключити його дискредитацію.

Можна встановлювати певні обмеження, наприклад забороняючи перенаправлення портів, виконання певних програм і т.д.

Для генерації пари ключів нам необхідно скористатися утилітою ssh-keygen, яка входить в стандартний комплект установки.

ssh-keygen -t rsa (на локальній машині, тобто на "клієнті")

Відповідно на сервері ці ключі потрібно скопіювати:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Після цих маніпуляцій вхід на сервер під даним обліковим записом з даної клієнтської машини буде відбуватись автоматично. Притім такий спосіб є навіть більш надійним, аніж ввод паролю, який в теорії можна перехопити.

SSH має ще декілька цікавих особливостей використання:


Для доступу до сервера можна виходити за межі внутрішніх NAT-мереж, та здійснювати підключення по ssh через глобальну мережу. Для цьому потрібно щоб за сервером була закріплена статична адреса (в противному разі потрібно використовувати ddns[СБЮ12] ), та була налаштована відповідним чином переадресація портів на маршрутизаторі. Для прикладу налаштування мого роутера.

Рис. 25. Налаштування віртуальних серверів.

Така конфігурація дає змогу "мати під рукою" власний сервер усюди, де є мережа інтернет. При такому підключені IP-адреса вводиться статична, або (якщо є) -доменне ім’я.

Користувача можна не вводити, якщо попередньо був налаштований "шарінг" ключа.

Рис. 26. Вхід без пароля

Ще однією особливістю ssh є можливість передавати файли по ssh-тунелю.

Для цьому використовується sshfs (ssh file system).


<== предыдущая лекция | следующая лекция ==>
Exercise 26 | Translate from English into Ukrainian
1 | 2 | 3 | 4 | 5 | <== 6 ==> | 7 | 8 |
Studopedia.info - Студопедия - 2014-2024 год . (0.227 сек.) російська версія | українська версія

Генерация страницы за: 0.227 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7