Прокси-сервер SSH на основе файла ключа

Для обоих доменов необходим SSL-сертификат. Для перенаправления с одного на другое вам сначала нужен сертификат для olddomain.comи www.olddomain.com, чтобы браузеры принимали инструкции по перенаправлению. Затем вам потребуется сертификат на вашем www.newdomain.comдля размещения нового домена.

Таким образом, вы должны настроить виртуальный хост для старого домена, который перенаправляет только на новый.

См. Apache Перенаправление .


    ServerName olddomain.com

    Redirect permanent / https://www.newdomain.com/

    SSLEngine on

    SSLCertificateFile      /path/to/olddomain.com/cert.pem
    SSLCertificateKeyFile   /path/to/olddomain.com/privkey.pem
    SSLCertificateChainFile /path/to/olddomain.com/chain.pem




    ServerName www.newdomain.com

    DocumentRoot /var/www/html

    SSLEngine on

    SSLCertificateFile      /path/to/www.newdomain.com/cert.pem
    SSLCertificateKeyFile   /path/to/www.newdomain.com/privkey.pem
    SSLCertificateChainFile /path/to/www.newdomain.com/chain.pem


0
20.04.2020, 18:55
1 ответ

Добро пожаловать в StackExchange для Unix и Linux!

Я предполагаю, что вы имеете в виду «один общедоступный IP-адрес и один общедоступный входящий / порт назначения ».

В этом случае вы, возможно, зашли слишком далеко в своих поисках, так как ответ, вероятно, был у вас под рукой все время:глава АВТОРИЗОВАННЫЙ _ФОРМАТ ФАЙЛА КЛЮЧЕЙ в sshd (8 )man-страница , как я полагаю, даст вам именно тот инструмент, который вы ищете.

В файле ~/.ssh/authorized_keysдля user@publicipвы можете указать команды, которые будут запускаться вместо обычного сеанса всякий раз, когда используется конкретный ключ. Так что вы можете просто сделать это:

command="ssh user@192.168.1.10",restrict,pty ssh-rsa <public key of user1>
command="ssh user@192.168.1.20",restrict,pty ssh-ed25519 <public key of user2>

С этим authorized_keysфайлом, если закрытый ключ user1 используется для аутентификации в user@publicip, sshdнемедленно запуститssh user@192.168.1.10вместо обычной оболочки пользователя . Когда SSH-соединение с 192.168.1.10 завершится, весь сеанс завершится. И если вместо этого используется закрытый ключ пользователя user2, он будет подключаться к user@192.168.1.20соответственно.

Но если мое предположение было неверным, и вы действительно хотите ограничить исходящую сторону прокси-сервера одним исходным портом , есть небольшая проблема написать собственную реализацию протокола TCP и изменить версия SSH для работы поверх первой...

0
19.03.2021, 02:27

Теги

Похожие вопросы