Частный канал IRC
Предположим, у меня есть IRC-сервер, работающий на Linux, и единственный способ получить доступ к нему - через ssh. Я не хочу открывать порты для всего мира, я просто хочу, чтобы люди с логинами на этом сервере могли подключаться к IRC-серверу, работающему на этом хосте.
Я всегда мог подключиться к серверу через ssh и перенаправить некоторые порты через SSH. Есть ли способ лучше? Существуют ли клиенты IRC, которые позволят мне установить свой закрытый ключ и затем перенаправить порты IRC для меня?
5 ответов
Я полагаю, что вы должны иметь возможность написать сценарий для многих клиентов, который будет выполнять командную строку, чтобы открыть SSH-соединение с переадресацией портов, а затем подключиться к соответствующему порту на локальном хосте.
Если вы знаете, как настроить SSH для аутентификации с использованием ключей в authorized_keys
файл вы уже на полпути там. Вы можете настроить файл для автоматического запуска сценария / команды, когда пользователь с закрытым ключом входит в систему. Это может даже включать запуск клиента IRC на стороне сервера.
В качестве альтернативы, на стороне клиента, вы захотите сделать -L 6667:ircserver:6667
Перенаправление порта. Затем просто подключите свой IRC-клиент к localhost:6667
и это должно работать нормально.
Если все ваши пользователи могут запускать клиенты irc в той же системе, что и ircd: многие клиенты и серверы могут использовать соединения через доменные сокеты UNIX, поэтому единственное, что прослушивает входящий трафик, это ваш sshd.
Если у вас есть доступ к брандмауэру, вы можете использовать то, что называется portKnocking, что позволяет вам добавить действительно приятный уровень безопасности. По сути, вы "стучите" в определенный диапазон портов определенное количество раз, и в течение заранее определенного набора времени открывается определенный порт для подключения. Все эти переменные могут быть установлены вами. Я установил его на своем маршрутизаторе, который работает с DD-WRT, и это довольно приятно.
Я думаю, что если вы хотите, чтобы пользователи оболочки были только на ircd, самый быстрый и не требующий высоких технологий способ - запустить ircd только на локальных IP-адресах, например, 127.0.0.1, а затем установить IRC-клиент на основе CLI, такой как weechat, irssi, bitchx или epic., Затем пользователи оболочки должны подключиться к серверу по ssh, а затем запустить клиент irc.
Установка и использование экрана также могут помочь, позволяя пользователям вернуться в свою оболочку, не закрывая irc-клиент.
Надеюсь, это поможет.