SSH - більше, ніж захищена оболонка

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

Як правило, для доступу ми повинні вказати своє ім’я користувача та адресу комп’ютера, щоб сервер SSH запитував у нас пароль доступу:

ssh usuario@equiporemoto

З того моменту, як клієнт ініціює перше з'єднання між віддаленим комп'ютером і нами, інформація вже безпечно подорожує, заважаючи комусь отримати наші облікові дані доступу до зазначеного комп'ютера, проте SSH - це дуже адаптивний протокол, який пропонує нам багато можливостей.

SCP

Перший - це можливість передавати файли між клієнтом та віддаленим комп’ютером без необхідності монтувати сервер FTP або NFS, просто використовуючи SCP (Secure CoPy), який реалізує більшість серверів SSH:

scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt

Туннелювання SSH

Ця функція є дуже корисною, оскільки дозволяє нам надсилати та отримувати інформацію, яка не обов'язково є командами оболонки між клієнтом та віддаленим комп'ютером, наприклад звичайний перегляд. Якщо ви не здогадуєтесь, яке це може мати значення, подумайте про наступне: вам потрібно отримати доступ до сторінки, але там, де ви перебуваєте, встановлений брандмауер, який блокує саме цю сторінку, отже, ми можемо виконати `` тунелювання '' за допомогою віддаленого комп’ютер, на якому немає вказаних блоків, та перегляд зазначеної сторінки через наш сеанс SSH:

ssh -D 8888 usuario@equiporemoto

Після підключення наш клієнт SSH "слухає" порт 8888 як проксі-сервер, так що ми можемо налаштувати наш браузер і весь трафік передається через сеанс SSH

Тунель SSH

Ще один приклад, який мені здається, коли через певне географічне обмеження ми не можемо отримати доступ до веб-служби з того місця, де ми знаходимось, коли робимо тунель, сказав, що веб-служба виявляє IP-адресу нашого віддаленого сервера як джерело, а не IP-адресу нашого клієнта. Це дещо еквівалентно VPN (віртуальна приватна мережа)

Зворотний SSH

Якщо з якихось причин нам потрібен доступ до комп’ютера, який знаходиться за брандмауером, і він не дозволяє нам перенаправляти трафік SSH на нього, ми можемо зробити `` зворотний SSH '' таким чином, що цей комп'ютер підключається до іншого сервера SSH до якого ми також можемо підключитися, щоб отримати доступ до обладнання за брандмауером. Приклад, який спадає на думку, коли ми хочемо допомогти другові, який не уявляє, як налаштувати переспрямування на своєму модемі, але нам потрібен віддалений доступ до його комп'ютера:

Друг -> Модем -> Сервер SSH <- Про нас

Крок, який слід виконати, відносно дуже простий:

Приятель
ssh -R 9999:localhost:22 usuario@servidorssh

нам
ssh usuario@servidorssh
Потрапивши в сервер SSH, ми можемо зв’язатися з командою нашого друга за допомогою
ssh amigo@localhost -p 9999

Як бачите, вся магія полягає у параметрі -R, який повідомляє проміжний сервер, що на порту 9999 комп’ютер нашого друга зараз слухає як сервер.

Це лише деякі можливості, які нам пропонує SSH, але я запрошую вас поекспериментувати з деякими іншими, наприклад; ми можемо робити без нагляду сценарії за допомогою клавіш RSA, перенаправляти сеанси X (графічний режим) у наше графічне середовище, лише згадавши декілька.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Астрономічний - сказав він

    Відмінна стаття, я дуже хочу повернутися додому і почати практикувати їх.

    1.    adr14n - сказав він

      Дуже дякую! Це насправді моя перша публікація в блозі, і дуже приємно читати ці коментарі. На здоров’я!

  2.   Пабло Кардосо - сказав він

    Буквально вчора я щось запитував на цю тему, і це наступне.

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

    Привіт і велике спасибі заздалегідь.

    1.    елав - сказав він

      Ви можете зробити це за допомогою RSYNC через SSH. 😉

      1.    Гіскард - сказав він

        rsync - кришка банки !!! 😀

      2.    Едуардо - сказав він

        Я рекомендую вам спробувати унісон, це СПЕКТУЛЯРНО, він доступний у репозиторіях (принаймні debian та ubuntu)

        http://www.cis.upenn.edu/~bcpierce/unison/

        Я використовую його для щоденного резервного копіювання нотаток на інший комп’ютер, крім того, що я синхронізував каталоги на різних комп’ютерах.

        Він дуже простий у використанні

        Сподіваюся, це вам стане в нагоді!

        Успіхи
        Едуардо

    2.    Шульга - сказав він

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

    3.    adr14n - сказав він

      Мені спадає на думку зробити ls, упорядкований за датою, і звідти скопіювати ті, що вам потрібні, за допомогою простого scp, оскільки scp не має стільки функцій, як кажуть, він має rsync.

  3.   Anonimo - сказав він

    Я підтверджую, що зворотний ssh ​​розкішний, я використовував його між своїм комп'ютером та іншим, який знаходився на відстані понад 700 км, і без проблем.
    Дякую за ці статті, вони дуже цінні.

  4.   припинити - сказав він

    Такий солоний! Ха-ха, я не знав, що ssh має стільки можливостей, я вже хочу навчитися налаштовувати сервер ssh і експериментувати з його можливостями, лише одне, не могли б ви пояснити, що робить кожен параметр?

    1.    adr14n - сказав він

      Відповідно до самого ssh man, -D служить для локального вказівки `` динамічного пересилання додатків '', який, як я пояснив у статті, служить для передачі трафіку через тунель у межах того самого сеансу SSH. -R визначає віддалений порт, який буде перенаправлено на наш локальний комп'ютер за допомогою "переадресації". І нарешті, -p визначає, до якого порту повинен підключатися клієнт, коли він не використовує стандартний порт: 22

  5.   manuelmdn - сказав він

    Добре, що торкається цієї теми, у мене питання про ключі ssh, чи можете ви створити більше одного ключа для різних служб? Сподіваюся, вони зробили допис про управління ключами ssh, я знаю, що в google є відповідь, але сподіваємось, ви про це поговорите,

    Привіт!

    1.    adr14n - сказав він

      Коли ви використовуєте автентифікацію за допомогою ключів SSL, ви можете експортувати один і той же (ваш комп'ютер) до різних служб, і таким же чином, якщо ваш комп'ютер є сервером, ви можете включити різні ключі від різних комп'ютерів. Не знаю, чи відповідав я на ваше запитання, але я це зрозумів. Ура

  6.   Луїс - сказав він

    Здається, я пам’ятаю, що існував спосіб через ssh, який дозволяв нам запускати програму віддалено та переглядати її на своєму комп’ютері так, ніби це локальна програма.

    Наприклад, ми можемо запустити firefox, ми бачимо та контролюємо його на своєму локальному комп’ютері, але процес виконується на віддаленому комп’ютері.

    Особливо корисно на комп’ютерах з невеликою кількістю ресурсів, але, на жаль, я не контролюю проблему і не знаю, як налаштувати комп’ютери на це.

    Хтось щось про це знає?

    1.    Персонал - сказав він

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

      1.    x11tete11x - сказав він

        @Staff для мене було б не зручно використовувати VNC .. з VNC, якщо я не поганий, ви приносите весь робочий стіл ..

        @Luis, що ти робиш, просто додаючи параметр "-X" до ssh (ти повинен дозволити переадресацію X на своєму сервері)

        http://i.imgur.com/NCpfzBL.jpg

      2.    Персонал - сказав він

        @ x11tete11x
        Розглядаючи те, що згадав Луїс, я думав запропонувати йому іншу альтернативу, оскільки:

        1. "Особливо корисно на комп'ютерах з невеликою кількістю ресурсів ..."

        -У випадку з одним додатком, він може не споживати стільки ресурсів, але спроба відкрити 10 вікон з переадресацією x продовжує ускладнювати роботу системи, ніж наявність одного екземпляра VNC, оскільки VNC не "приносить весь робочий стіл"
        -При закритті програми на клієнті вона закінчується тим же самим на сервері (хтось виправляє мене, якщо я помиляюся), тоді як за допомогою VNC ви можете, наприклад, залишити торрент-завантаження всю ніч і ввійти знову вранці і все тривало б так само, як я пішов.
        -VNC - це системний агностичний протокол, ви можете отримати до нього доступ із клієнта на Win, Andorid, Mac OSX тощо. і використовувати свої програми GNU / Linux, не встановлюючи нічого, крім самого клієнта VNC.

        І 2. «... на жаль, я не контролюю проблему і не знаю, як налаштувати комп’ютери на це.»

        Набагато простіше (і без ризику ввести щось неправильно та перезапустити без робочого столу) встановити VNC та налаштувати тунель SSH (Це робиться за допомогою графічного інтерфейсу користувача), ніж переміщувати конфігураційні файли X.

      3.    Луїс - сказав він

        Дякую вам за коментарі.

        Я вже давно використовую SSH разом із SHFS для доступу до віддаленого вмісту мого невеликого сервера, але ніколи не міг запускати віддалені програми в графічному середовищі.

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

        Тоді я подивлюсь, чи зможу я знайти простий спосіб налаштування VNC, оскільки я трохи великий, я користувач Arch, тому напевно буде інформація у вікі, інша справа, що я це дізнаюся. Хе-хе-хе

        Привітання.

    2.    adr14n - сказав він

      Це можна зробити, передавши сеансу параметр -X, але вам потрібно налаштувати ваш X-сервер, щоб приймати з'єднання з комп'ютера в мережі, я думаю, що це налаштовано за допомогою утиліти xhost. Як зазначає персонал, VNC - також дуже хороший варіант

    3.    марио - сказав він

      Це переадресація X11, тут на цьому ж сайті є публікація про це:
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    Луїс - сказав він

      Дякую за інформацію, друзі.

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

      Привіт!