SSH через соединение Telnet

Можно ли подключиться к SSH-серверу через Telnet-соединение?

Я пытаюсь подключиться к SSH-серверу из Flash, но в ActionScript нет реализации OpenSSH. Я могу успешно подключиться к серверу Telnet и выполнить команды.

Я не могу внести какие-либо изменения на машине с SSH-сервером. Машина, к которой я подключаюсь, работает под управлением Windows XP SP3. Я готов получить любое необходимое программное обеспечение для Windows-машины.


person Jeremy White    schedule 01.12.2009    source источник


Ответы (6)


Я полагаю, что на машине с ssh-сервером есть http-сервер. Вы можете использовать php-скрипт для выполнения команд (используйте ssl для безопасного соединения)

если у вас есть контроль над клиентской машиной, вы можете написать (например, на C) прокси-сервер ssh для прокси-сервера telnet. Я думаю, это будет намного проще, чем писать ssh-клиент в actionscript.

person Maciek Sawicki    schedule 01.12.2009
comment
В итоге я использовал веб-сервер Mongoose с расширением PHP ssh2. - person Jeremy White; 04.12.2009

Для подключения SSH-сервера вам нужен SSH-клиент. Так же, как для подключения к серверу Telnet, необходим клиент Telnet.

Может быть, вы могли бы настроить туннель SSH между вашей машиной и машиной с сервером SSH и заставить ActionScript использовать удаленную машину через туннель SSH?

person Juha Syrjälä    schedule 01.12.2009
comment
+1: с точки зрения безопасности и простоты я считаю, что это лучшее решение. - person Dathan; 01.12.2009

С практической точки зрения, нет. Возможная альтернатива:

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

person Carl Smotricz    schedule 01.12.2009
comment
Если прокси-сервер telnet работает на клиентской машине, это не создает угрозы безопасности. - person Maciek Sawicki; 01.12.2009
comment
Мне нравится идея прокси на клиентской машине. Существует ли уже существующее программное решение, которое делает это? - person Jeremy White; 01.12.2009
comment
Вроде, как бы, что-то вроде. Если у вас есть демон telnet, работающий на прокси-сервере, вы можете подключиться к нему через telnet и попросить его ssh user@host, и вы получите свое SSH-соединение через ваше telnet-соединение. - person Carl Smotricz; 01.12.2009
comment
Точно так же, если вы можете запустить исполняемый файл SSH из своего скрипта, это тоже сработает. - person Carl Smotricz; 01.12.2009
comment
Да, и вместо обычного демона вы можете использовать netcat для запуска клиента SSH. В этом отношении netcat очень универсален; Гугл для этого! - person Carl Smotricz; 01.12.2009

Я думаю, это было бы возможно теоретически. Но вам нужно будет выполнить рукопожатие SSL и, конечно же, де-и шифрование «вручную» в actionscript. Подготовьтесь к долгому плану разработки.

person innaM    schedule 01.12.2009
comment
т.е. Это в основном эквивалент реализации ssh самостоятельно. - person Martin Beckett; 01.12.2009
comment
Вот что я пытался сказать. - person innaM; 01.12.2009

Вы можете настроить Putty или Tunnelier для SSH-соединения и использовать локальный порт для флэш-сокета. См. http://www.bitvise.com/port-forwarding.

person Rinie    schedule 02.02.2010

Я думаю, вы путаетесь, и сам вопрос вводит в заблуждение, поскольку telnet и ssh — это две совершенно разные вещи с точки зрения tcp / ip — SSH использует определенный стандартный интернет-порт № 22 (в зависимости от установки это может быть изменено) до другого порта в конфигурации, чтобы предотвратить проникновение хакеров, обычно используется 2222, но это может быть по-разному!) Telnet, с другой стороны, использует порт 23. См. здесь для уточнения используемых портов... Короче говоря, я не уверен на 100%, сможете ли вы это сделать, но попробовать стоит, так как я еще не пробовал... Посмотрите здесь подробнее о том, как туннелировать протокол POP3 через ssh.

Когда вы подключаетесь к порту 9999 на локальном хосте, то есть 127.0.0.1, вы тем самым туннелируете сервер pop3 через ssh. Как и в примере на сайте securityfocus, можете ли вы, например, перенаправить порт telnet на какой-либо другой порт, в вашем случае я думаю:

ssh -L 9999:telnet:23 somehost

поэтому, когда вы подключаетесь к 9999, вы эффективно туннелируете через SSH.

Интересно, в какой системе работает служба SSH? Это линукс/юникс? Используемый параметр -L для локальной переадресации, аналогично для удаленной переадресации -R, остальные параметры команды остаются прежними. Важным ключевым словом здесь является переадресация портов.

person t0mm13b    schedule 01.12.2009
comment
Если я запускаю ssh -L 9999:telnet:23 localhost на своей машине, а затем запускаю telnet localhost 9999 на той же машине, я не попадаю в командную строку... - person Jeremy White; 02.12.2009
comment
@Джереми Уайт: Хорошо! По крайней мере, вы пытались, спасибо, что прочитали мой ответ. У меня нет идей по этому поводу... извините за отсутствие дальнейших комментариев!!! - person t0mm13b; 02.12.2009