Назад | Перейти на главную страницу

Аутентифицировать пользователя (группу) и зашифровать порт 8078 на сервере с помощью ключей SSH2?

Я хочу зашифровать и аутентифицировать порт 8078 на сервере, на котором работает Jenkins, с помощью ключей SSH (я передам наш открытый или закрытый ключ по мере необходимости) и не допускать доступа к 8078 для чего-либо, кроме SSH. У меня сейчас всего несколько разработчиков, использующих машину.

Вопросы: A / Нужен ли мне брандмауэр, чтобы заблокировать 8078 от доступа без SSH? B / Будет ли расшифрованный запрос через порт 22, перенаправленный на порт 8078, быть увиден межсетевым экраном? B / Какой IP / порт увидит межсетевой экран, когда SSH-сервер перенаправит незашифрованный запрос с порта 22 на порт 8078? C / Это хорошее долгосрочное решение как для шифрования, так и для аутентификации для приложения, не являющегося веб-сервером? D / Подойдет ли для этой цели решение VPN?

A) После того, как SSH-сервер прослушивает 8078 на сервере, никакое другое приложение, включая Jenkins, не может. Б) Я запутался: SSH не перенаправляет незашифрованные запросы. C) Я предполагаю, что вы хотите сделать следующее:

  1. Настройте Jenkins для работы на порту 8078 в незашифрованном виде, но на локальном IP-адресе 127.0.0.1. Брандмауэр не требуется, так как никто извне не может подключиться к этому IP. Только если Jenkins не может быть настроен для привязки к 127.0.0.1, вам понадобится брандмауэр.
  2. Создайте специальную учетную запись пользователя с настраиваемой оболочкой, которая действует как клиент telnet для 127.0.0.1:8078. Вы можете сделать это с помощью очень простого сценария bash. Авторизуйте все открытые ключи для использования этой учетной записи.
  3. Подключитесь к SSH через порт 22 как обычно со специальным пользователем. При подключении откроется специальная оболочка telnet.

Скрипт будет выглядеть так:

#! /bin/bash
telnet localhost 8078

Сохраните в / usr / local / bin / jenkins-ssh и

chmod a+x /usr/local/bin/jenkins-ssh
useradd jenkins-ssh
passwd jenkins-ssh (or don't, use pubkey only)
chsh jenkins-ssh -s /usr/local/bin/jenkins-ssh

D) Решение VPN было бы лучше, поскольку его можно было бы использовать более чем для одной службы. Но вам придется привязать службу к внутреннему IP-адресу, который может стать доступным только после запуска службы VPN, что усложняет последовательность запуска.