Я хочу зашифровать и аутентифицировать порт 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) Я предполагаю, что вы хотите сделать следующее:
Скрипт будет выглядеть так:
#! /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, что усложняет последовательность запуска.