LINUX.ORG.RU
ФорумAdmin

web ssh клиент для подключения к внешнему серверу

 , ,


1

6

Здравствуйте.

Возникла необходимость поднять ssh клиент, с помощью которого можно подключаться к стороннему серверу.

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

Нужно именно приложение, которое можно раскатить на своем сервере, а не сервис в интернете.

Всякое гугление по web ssh, ssh javascript и т.д. кидает на решения, типа ajaxterm, anyterm и т.д., которые позволяют подключиться к серверу, на котором запущено приложения (а надо просто ssh клиент, с помощью которого можно подключиться к любому серверу)

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

Спасибо!

P.S. важно, что бы через get метод можно было бы сразу указать сервер, к которому подключаться; или хотя бы возможность допилить такой функционал.

★★★

Кстати, пришел в голову Webmin

dvrts ★★★ ()
Ответ на: комментарий от dvrts

А, вон оно что... А я полгода пытался допереть, что он хочет и зачем ему GUI.

DeadEye ★★★★★ ()

Mindterm, когда-то использовал его. Работает java-applet'ом. У меня ещё где-то должна быть старая версия. (что-то они там форму заплонять заставлять на скачивание стали)

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 4)

shellinaboxd ? Он поддерживает кастомные ssh хосты, так что ты можешь форкнуть из своего скрипта его процесс на определенном порту. К тому же там есть CGI режим, для вызова из скриптов.

http://code.google.com/p/shellinabox/source/browse/shellinabox/cgi-mode-examp...


Только замени вызов на

shellinaboxd -s /:SSH:example.org
#The terminal connects to a ssh session on example.org.

Bers666 ★★★★★ ()
Ответ на: комментарий от Bers666

Привет.

Спасибо за ответ. Это именно то, что было нужно.

К сожалению штатный демон использвоать не получается, т.к. в вызов нельзя передавать fqdn хоста (т.е. получается что можно подключится только к 1му хосту)

А вот с настройкой cgi у меня возникла проблема. Со штатным примером, который там был оно взлетело очень быстро. А вот если попробовать к этому примеру еще прикрутить SSL то на этом волшебство заканчивается и ничего дальше не работает.

Если вы с подобным сталкивались- подскажите, как вы решили эту проблему?

Вот мои конфиги apache2:

cat /etc/apache2/sites-enabled/shellinabox.conf 
#этот конфиг для http работает отлично
	<VirtualHost *:80>
		ServerName example.org
		ServerAlias example
		ServerAdmin admin@example.org
		DocumentRoot /srv/cgissh
		Options -Multiviews
		Alias /cgi /srv/cgissh/cgi-bin/
		<Directory /srv/cgissh/cgi-bin>
			Options ExecCGI
			AddHandler cgi-script .sh
		</Directory>
	</VirtualHost>

cat /etc/apache2/sites-enabled/shellinabox-ssl.conf 
#А вот этот вхост для https не работает
<IfModule mod_ssl.c>
	<VirtualHost *:443>
		ServerName example.org
		ServerAlias example
		ServerAdmin admin@example.org
		DocumentRoot /srv/cgissh
		Options -Multiviews
		Alias /cgi /srv/cgissh/cgi-bin/
		<Directory /srv/cgissh/cgi-bin>
			Options ExecCGI
			AddHandler cgi-script .sh
		</Directory>
		SSLEngine on
		SSLCertificateFile /etc/apache2/ssl/ssh.pem
		SSLCertificateKeyFile /etc/apache2/ssl/ssh.key
		SSLProtocol all -SSLv2 -SSLv3
	</VirtualHost>
</IfModule>
в браузере я вижу:
GET https://example.org:52857/ net::ERR_SSL_PROTOCOL_ERROR

вот сам скрипт:

#!/bin/bash
shellinaboxd --cgi -t -s "/:$(id -u):$(id -g):HOME:ssh user@$QUERY_STRING"

disee ★★★ ()
Ответ на: комментарий от disee

Я в подобном виде его не настраивал, просто вспомнил, что он такое умеет. Однако советую поиграться с его ключами , особенно --disable-ssl . Ну а если не получится, то всегда можно заюзать https с помощью апачевского mod_proxy, то есть форвардить траффик https->http чисто средствами апача.

Ну и еще я бы добавил отладочный вывод в файл или в syslog, как-то так, а то , может в $QUERY_STRING что-то левое сидит.


RUN="shellinaboxd FOO BAR XYZ"
echo "running $RUN"|logger
$RUN
Bers666 ★★★★★ ()
Последнее исправление: Bers666 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.