Perl CGI для SSH - PullRequest
       4

Perl CGI для SSH

0 голосов
/ 22 ноября 2011

Я хотел бы спросить, как сделать SSH в Perl CGI

Не только я хочу SSH-соединение, но и я хочу сохранить это соединение.Проще говоря, могу ли я сделать ssh консоль веб-просмотра?

Просьба игнорировать проблему безопасности Спасибо

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Я добился большего успеха, используя Net :: SSH2 для SSH-соединений, но вы должны установить libssh2 самостоятельно.

Для веб-сервера лучшим вариантом будет простое приложение Plack, которое создает и поддерживаетSSH-соединение для пользователя.Когда они создают соединение, присвойте ему идентификатор (возможно, используя Data :: UUID) и используйте его в качестве URL (перенаправьте их на их URL).Затем просто примите команды как запросы данных POST к этому URL (используя text / plain, а не данные формы).Использование UUID для URL позволит одному пользователю легко иметь несколько соединений.UUID будет невозможно угадать, что затруднит перехват сеанса.У пользователя все еще должны быть учетные данные, чтобы установить соединение SSH (вы должны принять учетные данные и использовать их для создания объекта Net :: SSH2), поэтому риск безопасности должен быть очень небольшим.

1 голос
/ 22 ноября 2011

хм .... интересный проект ....

+ Для внешнего интерфейса:

полностью согласен с AJAX .... более того, вы можете использовать jqueryвместо этого (http://api.jquery.com/jQuery.ajax/)... это сделает вашу жизнь намного проще.

+ Для бэкэнда:

  1. простейшая идея ... вызовите sshкоманда на каждую команду, запускаемую на beb iface "ssh host 'command'" ... потребуется простая оболочка ssh и открытые / секретные ключи без паролей также для вызова команд на удаленной машине без пароля (если вам нужно) ...

  2. также вы можете использовать Net :: SSH вместо команды ssh ... это добавит немного сложности ...

  3. более сложная идея.... вы можете написать небольшой демон, который будет хранить и обрабатывать ssh-соединения ... используя FIFO, вы можете взаимодействовать с вашим CGI-скриптом с демоном, чтобы устанавливать / отбрасывать соединения, отправлять / получать команды через ssh ...

Надеюсь, это поможет,

/ A

...