SSH чрез Telnet връзка

Възможно ли е да се свържете към SSH сървър чрез Telnet връзка?

Опитвам се да се свържа към SSH сървър от Flash, но в ActionScript няма налична реализация на OpenSSH. Мога успешно да се свържа с Telnet сървър и да изпълнявам команди.

Не мога да направя никакви промени на машината със SSH сървъра. Машината, с която се свързвам, работи с Windows XP SP3. Готов съм да взема какъвто и софтуер да е необходим за машината с Windows.


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


Отговори (6)


Предполагам, че има http сървър на машина с ssh сървър. Можете да използвате php скрипт за изпълнение на команди (използвайте ssl за защита на връзката)

ако имате контрол върху клиентската машина, можете да напишете (например на C) ssh прокси към telnet прокси. Мисля, че това ще бъде много по-лесно, отколкото писането на ssh клиент в actionscript

person Maciek Sawicki    schedule 01.12.2009
comment
В крайна сметка използвах уеб сървър Mongoose с разширението ssh2 на PHP. - 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 е много гъвкав по този начин; Google за това! - 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 услугата? Linux/Unix ли е? Параметърът, който трябва да се използва, е -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
@Jeremy White: Добре! Поне опитахте, благодаря, че прочетохте отговора ми. Нямам идеи за това...съжалявам за липсата на допълнителна информация!!! - person t0mm13b; 02.12.2009