Налаштування ssh сервера на openssh і ssh клієнта
Налаштування SSH сервера
Налаштування sshd знаходяться в файлі / etc / ssh / sshd_config. Відкриваємо цей файл для редагування і змінюємо його вміст для наших потреб, не забуваючи при цьому про безпеку.
Перший параметр - Port. За замовчуванням використовується 22 порт. Змінимо його на нестандартний порт 2203 - це позбавить наш сервер від мережевих роботів, які автоматично сканують інтернет в пошуку відкритих портів і намагаються через них підключитися. Це не позбавить від сканування людиною, але для захисту від людини існує фаєрвол, хитрі способи відкриття порту, «горщики з медом» і т. Д.
Тепер, щоб підключитися до сервера потрібно буде явно вказати порт. Наприклад, так:
$ Ssh -l andrey -p 2203 192.168.123.254
Наступний параметр відповідає за версію протоколу SSH. Значення за замовчуванням 2. Його і залишаємо. Чи не додаємо одиничку ні за яких обставин. Перша версія протоколу SSH небезпечна!
Рядки HostKey необхідні для другої версії протоколу SSH і відповідають за назви файлів ключів і їх розташування. Перший рядок відповідає за пару ключів RSA, друга відповідно за пару ключів DSA. До назв відкритих (публічних) ключів додається .pub. Ці ключі використовуються при аутентифікації з ключем хоста. Можна поміняти слово host в назві ключів на ім'я нашого сервера, але ми зробимо це в частині, присвяченій генерації ключів. Зараз же відключимо ключі DSA, так як будемо користуватися тільки RSA:
Далі йде група параметрів, що відповідає за журнал. Події, пов'язані з доступом по SSH записуються в журнал / var / log / auth
Другий параметр визначає рівень деталізації подій. Доступні наступні події: SILENT. QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3. Ми залишаємо рівень деталізації за замовчуванням, якщо виникнуть помилки, то завжди можна збільшити деталізацію журналу.
Наступна група параметрів відноситься до аутентифікації. Перший параметр означає, що з'єднання буде розірвано через вказану кількість секунд, якщо користувач не увійде в систему. Зменшимо цей час в два рази.
Другий параметр дозволяє або забороняє вхід по SSH під суперкористувачем. Забороняємо вхід суперкористувачеві.
Третій параметр включає перевірку демоном ssh прав і володіння домашнім каталогом користувача, який намагається отримати віддалений доступ до комп'ютера. Ми залишаємо yes.
Додаємо параметр AllowUsers, якого немає в файлі конфігурації за замовчуванням. Цей параметр дозволяє доступ до сервера по протоколу SSH тільки для перерахованих користувачів.
У нашому прикладі дозвіл є лише у користувача andrey. Значеннями цього параметра можуть виступати імена користувачів, відокремлені один від одного пробілами. Не можна використовувати в якості значень UID (User ID). Можна використовувати запис користувача у вигляді user @ host, наприклад andrey @ echidna. Це означає, що доступ дозволений користувачеві andrey з комп'ютера echidna. Причому користувач і комп'ютер перевіряються окремо, це дозволяє розмежувати доступ певних користувачів з певних комп'ютерів. Існує зворотний параметр - DenyUsers, який забороняє доступ користувачам, перерахованим в значенні цього параметра. Крім параметрів пов'язаних з доступом окремих користувачів існують відповідні параметри для груп: AllowGroups і DenyGroups.
Ми залишаємо включеної аутентифікацію RSA, в параметрі RSAAuthentication:
Ми залишаємо включеної аутентифікацію по відкритому ключу, в подальшому ми налаштуємо аутентифікацію таким способом.
Наступні два параметри відповідають за включення сумісності з програмою rhosts. Нам така сумісність тільки зашкодить, тому залишаємо значення за замовчуванням.
Аутентифікація hostbased нам теж не потрібна і вона вже відключена, тому залишаємо існуюче значення
Параметр PermitEmptyPasswords дозволяє або забороняє вхід з порожнім паролем. Природно, забороняємо вхід з порожнім паролем - залишаємо no.
Опція PrintMotd виводить при підключенні до sshd так зване повідомлення дня, що насправді є вмістом файла / etc / motd. Опція PrintLastLog дуже корисна, тому що вона включає відображення інформації про те, коли ви останній раз і з якого комп'ютера заходили на сервер.
Встановимо параметру TCPKeepAlive значення no. Цей параметр важливий для підтримки з'єднання з боку сервера, але ми реалізуємо ті ж функції, але більш безпечніше.
Для цього додамо два наступні параметри:
Перший з цих параметрів визначає кількість запитів, яке ssh-сервер відправляє ssh-клієнтам через певні проміжки часу. Як тільки встановлене значення запитів досягнуто, а клієнт так і не відповів, з'єднання буде розірвано. Якщо не посилати такі запити, то сесії на сервері доведеться закривати вручну, так як вони будуть тривати нескінченно, відбираючи частину ресурсів. Другий параметр визначає інтервал відправлення запитів в секундах. У нашому прикладі, з'єднання буде розірвано, якщо між клієнтом і сервером НЕ буде зв'язку протягом однієї хвилини.
Опція Banner визначає місце положення файлу-банера, який буде виведений на екран, при спробі підключитися до сервера sshd. Пропонується файл /etc/issue.net, але можна використовувати свій банер, помістивши його, наприклад в / etc / ssh. В Debian за замовчуванням виводиться вміст файлу /etc/motd.tail. Ми залишаємо як є.
Краще додамо ще один корисний параметр, який відсутній в файлі sshd_config - DebianBanner. Цей параметр додає в рядок відповіді sshd інформацію про операційну систему, при обігу до сервера по протоколу TELNET або при скануванні nmap. Цей рядок може виглядати так: SSH-2.0-OpenSSH_5.5p1 Debian-6 + squeeze1. Приховуємо інформацію про нашу операційній системі.
Тепер рядок відповіді буде виглядати так: SSH-2.0-OpenSSH_5.5p1
Параметр AcceptEnv вказує, які змінні оточення, передані клієнтом, будуть прийняті.
Наступний параметр включає зовнішню підсистему (наприклад, FTP). Як параметри розуміє, ім'я підсистеми і команду, яка буде виконана при запиті підсистеми. Команда sftp-server, реалізує протокол передачі файлів через SSH - SFTP.
Subsystem sftp / usr / lib / openssh / sftp-server
Параметр UsePAM залишаємо без змін. Якщо директива UsePAM включена, то запустити sshd можна буде тільки від імені root.
Зберігаємо зміни і перезапускаємо sshd. Підключаємося, перевіряємо, якщо все в порядку, то настройка сервера ssh з аутентифікацією оп ключу хоста закінчена. Для вирішення проблем і виведення налагоджувальної інформації можна підключатися з ключами: -v, -vv, -vvv.
Налаштування ssh клієнта
В Debian настройки клієнтської частини ssh діляться на глобальні і призначені для користувача. Глобальні клієнтські налаштування знаходяться в файлі / etc / ssh / ssh_config і застосовуються до всіх користувачів. Призначені для користувача настройки можуть перебувати в домашньому каталозі користувача, в
/.ssh/config і застосовуються до одного користувача. Файл користувальницьких налаштувань не створюється автоматично на відміну від файлу загальних параметрів клієнтської частини ssh. Для більшості виконуваних завдань підійдуть стандартні параметри, але для зручності використання, так би мовити для тюнінгу або для виконання нестандартних завдань клієнтські настройки змінюються. Розглянемо коротко деякі з цих налаштувань. Корисно пам'ятати про пріоритети налаштувань: вищий пріоритет мають ключі командного рядка, потім слідують настройки користувача, а після них використовуються глобальні налаштування клієнтської частини.
Параметр Host. Обмежує безліч хостів, до яких застосовуються наступні (до найближчої нової директиви Host) директиви, за вказаними шаблонами (хост повинен відповідати хоча б одним шаблоном). Шаблон, що складається з одного символу *, відповідає будь-якому хосту. Під хостом в даному контексті розуміється аргумент імя_хоста передається в командному рядку (тобто ніяких перетворень перед порівнянням не виконується).
Параметр Port. Порт на віддаленій машині, до якого слід підключатися. Значення за замовчуванням - 22
Параметр User. Ім'я користувача, яке слід використовувати при реєстрації у віддаленій системі. Корисно, коли на різних серверах використовуються різні імена, тому що позбавляє від потреби згадувати кожен раз потрібне ім'я.
Як приклад я створю файл налаштувань /home/selifan/.ssh/config такого змісту:
Пам'ятайте, що у нас ви можете не тільки купити готовий сайт або замовити його розробку. але і підібрати відповідний тариф підтримки сайту. замовити просування сайту в пошукових системах, а так же зареєструвати домен в одній з двохсот доменних зон і вибрати недорогий тариф хостингу! айтішник РУ
- Створення сайтовВізітка блог інтернет магазин портал
- Підтримка сайтовCMS Joomla статичні сайти
- Просування сайтовПродвіженіе сайтів в Яндекс, Google
- Реєстрація доменовБолее ніж в 200 доменних зонах
- Послуги хостінгаРазлічние варіанти хостингу від самих надійних хостерів
- Підтримка серверовПоддержка Linux серверів Debian, Ubuntu
- Купити сайтГотовие сайти і їх вартість
- Тарифи поддержкіТаріфи підтримки сайтів для різних цілей і завдань
- Joomla 3Joomla 3 від А до Я
- Joomla 2.5Joomla 2.5 для новачків
- СайтостроеніеПріёми і тонкощі створення сайту Корисні поради
- SEOSEO - просування і оптимізація сайта
- Debian GNU / LinuxРаботаем з Debian - установка
- WindowsОпісаніе програм і робота в Windows
- АрхівАрхів статей сайту Aitishnik RU
- ЗаявкаОтправіть заявку на покупку створення підтримку або просування сайту
- ВакансіїВакансії і співробітництво
- Питання-ответЧасто задаються
- Карта сайту