Клієнт ssh: настройка. Кращий ssh-клієнт
Клієнт SSH - це необхідна утиліта при використанні SSH-з`єднання між двома машинами. Вона призначена для входу в операційну систему віддаленого комп`ютера і виконання в ній команд. Клієнт встановлюється на локальну машину користувача. Він повинен пройти аутентифікацію на сервері, і тільки після цього починається обслуговування. Клієнт може бути реалізований для роботи в терміналі або мати графічний інтерфейс настройки.
Що таке SSH?
SSH (Secure Shell) перекладається дослівно як «безпечна оболонка». У використанні SSH - це мережевий протокол, за допомогою якого проводиться безпечне управління операційною системою віддаленого вузла в мережі. Забезпечує захищене з`єднання, аутентифікацію і передачу даних з одного хоста на інший завдяки шифруванню трафіку, що проходить через нього.
Він дозволяє створювати шифровані тунелі для безпечної передачі інших мережевих протоколів через незахищену мережу, наприклад, Інтернет. Часто його використовують для перенаправлення портів одного комп`ютера на порти іншого.
Початок SSH було покладено Тату Ілёненом з Фінляндії в 1995 році, який задіяв його як більш конфіденційний протокол. Ця версія була названа SSH-1. На даний момент практично ніде не використовується.
Відео: Настройка доступу через ssh (оновлена версія)
У 1996 році була розроблена вдосконалена версія SSH-2. Вона несумісна з SSH-1, більш захищена і має розширений список алгоритмів шифрування. Зараз під SSH розуміється саме версія SSH-2. З 2006 року протокол визнаний інтернет-стандартом асоціацією IETF.
Існує дві основних реалізації SSH. Одна з них пропріетарна, яка розробляється SSH Communications Security. Друга - OpenSSH, створена під керівництвом Тео де Раадта як вільна відкрита альтернатива першої. Є найпоширенішою і включена в поставку більшості Unix-подібних систем.
Що таке клієнт SSH і сервер SSH
Підключення по протоколу SSH реалізується за допомогою двох основних компонентів: клієнта і сервера.
Простими словами, користувач через клієнт, який встановлений на локальний комп`ютер, отримує доступ до віддаленої машині (сервера). Варто відзначити, що клієнт може бути реалізований з графічною оболонкою (як дестктопное додаток), так і для роботи в терміналі (консолі).
Сервер SSH слухає мережеві підключення клієнтів і при отриманні запиту на коннект проводить необхідні дії для авторизації. При вдалому проходженні запускає встановлену для віддаленого клієнта службу.
Безпечний доступ організовується за допомогою процедури аутентифікації з використанням асиметричного шифрування з публічним ключем при першому підключенні. При подальшому застосовується симетричне шифрування.
Стандарт SSH включає в себе три протоколи:
- Протокол транспортного рівня - гарантує аутентифікацію сервера, секретність і цілісність. Забезпечує стиснення даних. Працює поверх TCP / IP.
- Протокол аутентифікації - виконує аутентифікацію клієнта для сервера. Діє поверх рівня транспортного протоколу.
- Протокол з`єднання - являє зашифрований канал у вигляді мультиплексованих каналу з декількох логічних, використовуваних для різних служб. Працює поверх каналу аутентифікації.
Підвищення безпеки гарантується аутентификацией клієнта для сервера, до якого звертається клієнт ssh й аутентифікації сервера клієнтом. Відбувається аутентифікація обох сторін.
Клієнт шле запит в перший раз, коли встановлюється безпечне з`єднання транспортного рівня. Другий запит направляється після завершення аутентифікації SSH-клієнта.
Реалізація OpenSSH
OpenSSH - це відкрита реалізація команди OpenBSD. Є найпоширенішою версією завдяки вільному поширенню.
Пакет OpenSSH включає набір таких інструментів:
- SSHD - серверна частина.
- SSH - клієнтська частина.
- SCP - утиліта для захищеного копіювання файлів.
- SSH-keygen - генерує відкриті ключі (RSA, DSA і інші) для комп`ютерів та користувачів.
- SSH-keyscan - збирає публічні ключі в мережі.
- SSH-agent - зберігає особисті RSA ключі для подальшої авторизації з публічними ключами.
- SSH-add - додає нові особисті ключі агенту SSH-agent.
- SFTP-server - SFTP сервер.
- SFTP - утиліта для безпечного копіювання файлів по FTP.
OpenSSH включений в поставку з коробки для більшості Unix-подібних систем. Самі поширеними вважаються Linux, Open (Free, Net) BSD, Solaris, HP-UX, Irix, MacOS X і інші.
Активна розробка ведеться в реалізації OpenSSH for Windows, яка доступна для скачування НАСА. вона дозволяє створювати SSH-сервер в системах сімейства Windows, має клієнт SSH для підключення. OpenSSH for Windows включений в поставку CygWin.
Найбільш популярними серед користувачів є дистрибутиви на базі ядра Linux. Надалі все приклади використання SSH будуть матися на увазі в налаштуванні OpenSSH. Для наочності роботи в Linux буде налаштований SSH-клієнт для Ubuntu, Windows і Mac OS X.
Установка і настройка openssh-server
Існує безліч варіантів конфігурації OpenSSH -server. Налаштування клієнта повинна проводитися виходячи з конфіга сервера. У цьому розділі наведено приклад сервера SSH, встановленого на Ubuntu Server Edition. При наступних описах настройки клієнтів буде використовуватися конфігурація цього сервера.
1. Є два способи установки OpenSSH -server:
1.1. Вибрати установку пакета OpenSSH -server відразу ж в процесі розгортання Ubuntu Server /
1.2. Завантажити та встановити зі сховищ, виконавши команду:
2. Ознайомитися зі значеннями конфігурація сервера SSHD за замовчуванням в файлі / etc / ssh / sshd_config можна командою:
3. Перед зміною стандартних налаштувань обов`язково потрібно створити резервну копію файлу і захистити його від записи. Це робиться на той випадок, якщо буде потрібно відкат до значення за замовчуванням в разі помилки.
4. У налаштуваннях за замовчуванням встановлений порт TCP 22. Для безпеки рекомендується замінювати його нестандартним значенням, наприклад, 5754. Змінити директиву Port можна командою:
5. Збережіть файл / etc / ssh / sshd_config і перезапустіть SSHD:
Сервер встановлений і налаштований. Тепер він прослуховує порт 5754. За замовчуванням отримати доступ може будь-який користувач системи з правами на вхід. Аутентифікація проводиться за допомогою пароля або ключів DSA, RSA, ed25519 і ін.
Кросплатформенних OpenSSH-client для терміналу. SSH клієнт для Linux
Раніше говорилося, що самій часто використовуваної реалізацією протоколу SSH є OpenSSH, який за замовчуванням поставляється з більшістю збірок дистрибутивів Linux. У деяких випадках OpenSSH можна скачати з репозиторіїв для даного дистрибутива.
У складі пакетів OpenSSH-клієнт реалізований у вигляді програми SSH, яка запускається однойменною командою. Налагодження та управління клієнтом проводиться через термінал, він не має графічного інтерфейсу. Вважається найпростішою і зручною версією.
Установка і настройка OpenSSH-client на Ubuntu
На віддаленій машині є встановлений і конфігурований OpenSSH-server. Завдання полягає в тому, щоб отримати до нього доступ з локального комп`ютера, на якому встановлена Ubuntu.
1. В Ubuntu за замовчуванням не доданий дистрибутив OpenSSH-client, тому встановити його необхідно командою:
2. Після установки програми вона викликається командою SSH з терміналу без Root.
3. У разі якщо використовується аутентифікація користувачів за паролем:
1) підключення проводиться командою:
- username - ім`я облікового запису на віддаленому сервері,
- host - це IP-адреса віддаленого сервера (або домен, якщо домен був делегований на сервер);
2) після введення команди необхідно натиснути Enter - з`явиться запит на введення пароля- потрібно ввести пароль від облікового запису віддаленої машини (слід бути уважним, так як для безпеки введення пароля ніяк не відображається);
3) після правильного введення пароля з`являється вікно терміналу віддаленого сервера з пріветствіем- тепер можна виконувати необхідні команди.
4. У разі якщо необхідна авторизація по ключам DSA:
1) при необхідності згенерувати відкритий і закритий ключі SSH можна з OpenSSH-client:
2) за замовчуванням публічний ключ зберігається в файл /home/user/.ssh/id_dsa.pub, а закритий в /home/user/.ssh/id_dsa;
3) згенерований публічний ключ потрібно створити на віддалену машину і додати його до авторизації /home/user/.ssh/authorized_keys командою:
Тепер користувач може ідентифікуватися на SSH-сервері без введення пароля.
Установка і настройка OpenSSH для Cygwin Terminal на Windows
Установка Cygwin проводиться запуском файлу Cygwin.exe, який завантажується з офіційного сайту.
Cygwin - це збірка безлічі різних пакетів. Для роботи з віддаленим терміналом потрібно тільки OpenSSH. Знайти його можна за допомогою пошуку в самому Cygwin.
Після установки пакета потрібно запустити Cygwin Terminal і ввести команду:
Після чого натиснути Enter. З`явиться запит на введення пароля. Після проходження аутентифікації з`являється термінал віддаленого сервера з привітанням користувача.
Синтаксис точно такий же, як і в OpenSSH-client, реалізованому для Linux.
Багатоплатформовий SSH-клієнт з графічним інтерфейсом PuTTY
Putty - графічний клієнт SSH для віддаленого адміністрування, що включає в себе підтримку протоколу SSH. Програма поширюється з відкритим кодом і абсолютно безкоштовна.
Спочатку випускався тільки для OS Windows, але пізніше клієнт був портований для Linux, входить в репозиторії практично всіх основних систем.
Активно розробляється для роботи в Mac OS X.
Відео: Best SSH Clients for Windows
Вікно налаштування PuTTY виглядає однаково в усіх операційних системах. Різниця існує тільки в способах установки. Тому спочатку будуть приведені способи установки для трьох операційних систем, а потім - параметри налаштування PuTTY.
Установка PuTTY Linux Ubuntu
1. Встановити PuTTY можна командою:
2. Запуск виконується командою putty з терміналу або кліком миші з меню:
3. Відкривається вікно налаштувань клієнта, де необхідно прописати параметри з`єднання.
Установка PuTTY для Windows
Для установки буде потрібно завантажити файл putty.exe, зберегти в зручне місце, наприклад, на робочий стіл. Програма запускається двома кліками лівої кнопки миші.
PuTTY - SSH-клієнт для Mac. Установка і запуск GUI-версії
На момент написання статті PuTTY ні адекватно портовано для роботи в Mac OS X. Проблеми виникали на компіляції тієї частини, яка відповідає за графічний інтерфейс.
Для установки слід виконати деякі попередні роботи.
1. Встановити Xcode.
Пакет утиліт і програми від Apple для розробки і збірки додатків під Mac OS X.
З версії Mac OS X 10.7 Lion необхідно поставити «Command Line Tools for Xcode» з сайту Apple Developer.
Після установки потрібно ухвалити угоду про ліцензії:
2. Встановити Xquartz.
Це реалізація сервера X.Org X Window System (X11) для Mac OS X. Потрібно для GUI-версії PuTTY, написаного на GTK +. Встановити можна з офіційного сайту. Після установки потрібно релогін.
3. Встановити Homebrew.
Установка проводиться командою:
Далі потрібно виконати перевірку на коректність установки командою:
4. Установка Putty виконується командою:
Процес може зайняти більше півгодини, так як буде встановлено безліч залежностей на кшталт Glib / GTK + / Pango / Cairo.
5. Створення файлу запуску Putty.app.
Необхідно запустити Automator.app. У типі документа вибрати «програма», в діях потрібно вибрати «запустити shell-скрипт», в поле введення прописати шлях до виконуваного файлу «/ user / local / bin / putty», зберегти як «putty.app», вказавши формат файлу « програма », в директорію« програми ». При бажанні стандартну іконку можна замінити.
Налаштування SSH клієнта PuTTY
Процес настройки графічного клієнта SSH PuTTY виглядає однаково в усіх операційних системах. Зовнішній вигляд злегка відрізняється в залежності від оформлення робочого оточення.
Для підключення до віддаленої машині по SSH потрібно запустити PuTTY. У вікні програми необхідно встановити параметри:
Connection Type - тип з`єднання - встановлюється SSH.
Host Name (or IP-adress) - ім`я хоста, або IP-адреса - тут вказується IP-адреса віддаленого сервера, доменне ім`я або адреса в інтернеті. У наведеному прикладі вказано IP-адреса 192.168.128.3
Port - прослуховується порт - на сервері, який був приведений в якості прикладу, налаштований порт 5754. Його і вказуємо.
При бажанні можна зберегти настройки цієї сесії.
При натисканні кнопки "Open" з`явиться вікно терміналу, де потрібно ввести ім`я облікового запису віддаленої машини і пароль.
У разі необхідності аутентифікації клієнта парою ключів потрібно утиліта puttygen.exe, яка запускається в ОС Windows. PuTTY-Gen генерує свою пару ключів public і private.
Публічний ключ необхідно додати на сервер, він генерується в стандарті SSH. Додати ключ можна аналогічно, через OpenSSH в терміналі або за допомогою PuTTY, пройшовши першу авторизацію логін-пароль.
Приватний ключ генерується формату .ppk і додається в клієнт. Зліва в дереві потрібно знайти SSH, розгорнути список, знайти Auth і в цьому параметрі в поле «Private key file for Authentication» вибрати ключ.
Після цих маніпуляцій користувач може проходити аутентифікацію на сервері без введення пароля.
На даний момент PuTTY вважається універсальним клієнтом SSH з графічним інтерфейсом. Сторонні розробники Gao-Feng створили SSH-клієнт для Android, як мобільну версію PuTTY.
Кращий SSH-клієнт
До сих пір не існує єдиної думки про те, який SSH-клієнт краще використовувати. Системні адміністратори підбирають утиліти виходячи з власних потреб.
Як правило, користувачі * Unix-систем схиляються до використання стандартного SSH з пакету OpenSSH. Він володіє зрозумілим універсальним синтаксисом і доступний безпосередньо з терміналу. Для роботи з додатковими інструментами на кшталт захищеного копіювання файлів (SCP) не потрібно встановлювати додаткові програми. Все необхідне включено в OpenSSH.
Шанувальники графічного інтерфейсу, які зазвичай працюють в операційних системах Windows, використовують PuTTY. Вважається, що це кращий SSH-клієнт для Windows. Він має весь необхідний набір інструментів для тунелювання, копіювання файлів і так далі, нехай для цього буде потрібно скачування додаткових модулів.