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

эмулировать telnet через ssh

У меня есть клиент-серверное приложение, которое работает через telnet-соединение и не поддерживает SSH. Обычно клиент открывает соединение Telnet с сервером, который запускает определенную оболочку, и клиент отправляет команды через соединение Telnet этой оболочке. Проблема в том, что мне нужно выполнить эту работу через ssh-соединение, а на удаленном сервере нет telnet-служб, поэтому я не могу использовать туннель через ssh-соединение. Мне нужен какой-то эмулятор telnet, который будет предлагать конечную точку telnet клиенту при подключении через ssh к серверу. Есть какой-либо способ сделать это?

Спасибо

Это нормальный случай для переадресации портов по ssh.

Сервер <ip> Открыта конечная точка ssh и сервер приложений прослушивает порт 23 Telnet.

У клиента есть клиент приложения, который должен подключиться к <ip>:23. Также клиент ничего не слушает на порту 23.

Установим проброс портов от сервера к клиенту:

ssh -N -L 23:127.0.0.1:23 user@<ip> >/dev/null 2>&1 & 

Мы тут:

  • подключиться к серверу <ip> как пользователь user;
  • перевести сессию ssh в фоновый режим;
  • перенаправить вывод сеанса ssh в / dev / null, чтобы избежать сообщений на консоли;
  • перенаправить порт 23 с локального хоста сервера на клиент (ваш сервер приложений должен прослушивать все IP-интерфейсы, включая 127.0.0.1)

Теперь клиент приложения должен подключиться к адресу 127.0.0.1:23 для работы с сервером приложений.

Обновить

Согласно пояснениям, у нас есть клиентское программное обеспечение, поддерживающее только Telnet, и сервер, поддерживающий только ssh. И клиент должен иметь доступ к серверу.

Как оказалось, такое решение действительно существует. Из руководство:

SSH / Telnet шлюз

В Telnet-DeleGate (сервер DeleGate для клиентов Telnet) - имя хоста с префиксом "-ssh" и "." (как "-ssh.host") подразумевает SSH-сервер на хосте. При доступе к такому серверу Telnet-DeleGate работает как шлюз между SSH-сервером и клиентом Telnet. Например, используя Telnet-DeleGate, настроенный следующим образом, клиенты Telnet могут войти на SSH-сервер на хосте как пользователь следующим образом:

% delegated -P8023 SERVER=telnet://-ssh
% telnet -l user@host localhost 8023

Встреча DeleGate