SFTP і FISH протоколи для SSH доступу до контейнерів Jelastic

Раніше, ми розповіли про SSH доступ до хмари Jelastic та його особливості:
  • SSH шлюз як новий елемент інфраструктури
  • генерація і додавання ключа SSH в акаунт Jelastic
  • прямий SSH доступ до контейнерів
У цій статті ми хотіли б звернути увагу на деякі додаткові способи SSH доступу до контейнерів Jelastic, а саме, використовуючи SFTP (SSH File Transfer Protocol) або FISH (Files transferred over Shell protocol) протоколи. Дані протоколи дозволяють проводити різні операції з файламы (доступ, передача та ін) по захищеному каналу.

image

Підтримка SFTP (Secure File Transfer Protocol) в Jelastic забезпечується шляхом реалізації потокового демона для обробки SFTP сполук. Це дозволяє вам переглядати, управляти і переміщати файли в контейнер через SSH шлюз, і, таким чином, бути впевненим у безпеці ваших даних.

FISH протокол (Files transferred over Shell protocol) підтримується багатьма популярних FTP-клієнтів і файл-менеджерів (наприклад Midnight Commander, Konqueror, lftp, Krusader і т.д.). Це дає можливість безпечно керувати файлами в контейнері.

А тепер, давайте розглянемо кілька прикладів використання цих протоколів.

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

Для користувачів Linux/MacOS даний приватний ключ автоматично зберігається під час генерації пари ключів.

Якщо ж ви використовуєте Windows, вам необхідно додатково зберегти відповідний приватний ключ (в якості прикладу ми використовуємо додаток PuTTYgen):

image

Тепер можна приступати до встановлення SFTP з'єднання.

1. Запустіть ваш FTP-клієнт з підтримкою протоколу SFTP.
Для прикладу ми скористаємося програмою Filezilla. Виберіть пункт Edit > Settings в меню програми.

image

2. У вікні, перейдіть до розділу SFTP і, використовуючи кнопку " " Add keyfile, виберіть раніше збережений приватний ключ SSH.
Натисніть OK.

image

3. Після цього перейдіть до пункту меню File > Site Manager.

image

4. У вікні натисніть кнопку New site і вкажіть наступні параметри:
  • у полі Host введіть ваш SSH хост ( gate.{домен_хостера} )
  • у полі Port вставити 3022
  • у випадаючому списку протоколів виберіть SFTP
  • виберіть Normal опції Logon Type
  • у полі User введіть Node ID контейнера, доступ до якої потрібно отримати (це значення можна знайти в списку контейнерів оточення в окремій колонці nodeid, використовуючи SSH консоль), і через дефіс додайте ваш User ID (число перед символом @ в рядку для SSH з'єднання).
Натисніть Connect.

image

5. Як тільки з'єднання буде встановлено, ви побачите список папок даного контейнера у відповідній частині вікна програми.

image

На цьому все! Тепер ви можете приступати до управління і передачі файлів вашого додатка через захищений канал.

FISH протокол
Давайте розглянемо приклад використання протоколу FISH для встановлення захищеного з'єднання між віддаленим контейнером і програмою Midnight Commander.

1. Для початку переконайтеся, що у вашій локальній машині є приватний ключ SSH, який відповідає раніше доданого на панель управління Jelastic відкритого.

За замовчуванням шлях до згенеровані ключу буде /home/{username}/.ssh/id_rsa або /home/{username}/.ssh/id_dsa (в залежності від типу ключа).

2. Перевірте права власності та атрибути вашого приватного ключа за допомогою наступних команд:
  • для ключа RSA
    ls-la /home/{username}/.ssh/id_rsa
  • для DSA ключа
    ls-la /home/{username}/.ssh/id_dsa
У колонці власника ключа повинно значитися ім'я користувача, а атрибути повинні бути 400 або 600. Іншими словами, ваш ключ не повинен бути доступний для читання іншими користувачами, інакше з'єднання встановлено не буде.

3. Встановіть і запустіть Midnight Commander.

4. Викличте панель меню натисканням клавіші F9, і виберіть пункт Shell link у меню лівою або правою вкладки.

image

5. У діалоговому вікні Shell link to machine введіть через дефіс наступні значення:
  • Node ID контейнера, доступ до якої потрібно отримати (це значення можна знайти в списку контейнерів оточення в окремій колонці nodeid, використовуючи SSH консоль)
  • ваша рядок для SSH-з'єднання ( {user_id}@{ssh_host}:3022 )
Натисніть OK.

image

6. По завершенні установки з'єднання, обраної панелі (у нашому випадку — праворуч) буде відображено файли та папки контейнера.

image

Тепер ви можете безпечно керувати файловою системою вашого контейнера, використовуючи RSH команди. Удачі!

Висновки
Таким чином, за допомогою протоколів SFTP і FISH, ви можете керувати файлами всередині контейнера по захищеному каналу. Як бонус, ви отримуєте надзвичайно швидку передачу файлів і можливість управління атрибутами файлів і директорій. Спробуйте самі і переконайтеся в усіх перевагах SSH доступу до Jelastic Cloud!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.