Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Используем SSH из браузера

Оригинал: SSH from a web browser tutorial
Автор: Joey Bernard
Дата публикации: 28 декабря 2013
Перевод: Н.Ромоданов
Дата перевода: июль 2014 г.

Есть моменты, когда у вас нет возможности пользоваться заблокированной машиной. Но, пока у вас есть браузер, вы все еще сможете подключиться к машине дистанционно. Например, несколькими следующими способами, описываемыми в данной статье.

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

Независимо от того, как заблокирована машина, у вас почти всегда может оказаться доступным веб-браузер. Мы можем воспользоваться этит и получить SSH-подключение через этот браузер. Есть несколько различных технологий, которыми можно воспользоваться для такого подключения. Первое, что мы рассмотрим, это приложение на основе браузера, для которого не нужно ничего другого как на стороне клиента, так и на стороне сервера. Естественно, имеющиеся возможности ограничены, но это один из самых простых вариантов. Дело в том, что вам потребуется использовать только имеющийся в наличии браузер. Второй вариант основан на использовании языка Java. В вашем браузере загружается Java-апплет, с помощью которого происходит фактическое управление SSH-соединением. К сожалению, это возможно только в случае, если у вас установлена Java и в браузере разрешается запускать Java-апплеты. Третий вариант даже более компактен на стороне клиента, чем первый вариант, и у него дополнительное преимущество в том, что работает почти с любым браузером. Недостатком является то, что для того, чтобы облегчить фактическое управление SSH-соединением, от вас требуется установить немного серверного кода.

Будем надеяться, что к концу этой статьи вы подберете вариант, который соответствует вашей ситуации и поможет вам дистанционно управлять машинами независимо от того, где вы будете находиться.

Есть всегда доступный адрес URL, указывающий на goo.gl URL, где есть FAQ для Secure Shell

Ресурсы

Secure Shell

Shellinabox

MindTerm

DropPages

Pancake

Шаг 01: Поиск клиентского плагина SSH

Как для Chrome, так и для Firefox, есть клиентские приложения SSH, которые находятся в соответствующих магазинах приложений. В этой статье мы будем рассматривать Secure Shell из магазина Chrome и FireSSH из магазина Firefox.

Шаг 02: Установка

В случае обоих браузеров установка должна быть сравнительно простой. Все, что вам нужно сделать, это найти соответствующее приложение в магазине браузера и нажать на кнопку Install (Установить). Большинство браузеров также потребуют перезагрузки прежде, чем клиент SSH будет готов к использованию.

Шаг 03: Откройте новое соединение

В оставшейся части данной статьи мы будем пользоваться версией для Chrome. Чтобы открыть новое соединение, просто нажмите на значок «Secure Shell» на главной странице браузера. В результате откроется окно подключения, где вы можете ввести хост, имя пользователя и пароль.

Шаг 04: Параметры терминала

Для «Secure Shell» в Chrome все же нет окна предпочтительных настроек терминала, так что вам потребуется открыть консоль JavaScript, выбрав для этого пункты меню View > Developer > JavaScript Console (Вид > Разработчик > Консоль JavaScript), и ввести необходимые изменения, которые нужно сделать. Например, вы можете установить цвет фона следующим образом: term_.prefs_.set(’background-color’, ’wheat’).

Шаг 05: Работа в SSH

Вы можете в «Secure Shell» делать почти все, что вы обычно делаете с обычным клиентом. Вы можете выполнить переадресацию портов, добавив, когда вы осуществляете соединение, соответствующие параметры. Вы указываете эти параметры в поле SSH Arguments.

Работа в SSH

Шаг 06: Закрытие соединений

Вы закрываете ваше соединение точно также, как вы делаете в любом другом клиенте SSH, при помощи команды exit. Когда соединение закрывается, «Secure Shell» предоставит вам возможность переподсоединиться (R), выбрать другое соединение (С), или просто завершить работу и выйти (х). Если вы выберите «х», то текущее окно браузера все еще останется открытым, но оно будет неактивным.

Шаг 07: Сохранение соединений

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

Шаг 08: Поиск клиентского Java-плагина

Есть Java-апплет, называемый MindTerm, которым вы можете воспользоваться. В данном случае, вам нужно «обернуть» апплет MindTerm в простую веб-страницу с тем, чтобы браузер мог его загрузить и сделать его видимым. Вы также можете запустить его автономно как Java приложение.

Шаг 09: Установка

Если вам требуется разместить апплет MindTerm не на вашей локальной машине, вы можете поместить его на хостинг, если он у вас есть. Если нет, то вы можете получить аккаунт Dropbox и разместить его там внутри статической веб-страницы. Есть сервисы, например, DropPages или Pancake.io, которые вам в этом помогут.

Шаг 10: Откройте новое соединение

Скриншот, приведенный выше, сделан с использованием файла jar апплета MindTerm, запущенного автономно. Его действие точно такое же, как и в браузере. При запуске он попросит вас ввести алиас или имя хоста сервера. Если это новая машина, то у вас спосят, хотите ли вы запомнить для нее алиас.

Шаг 11: Параметры подключения

Преимущество Java-апплета в том, что вам предоставляется больше инструментальных средств. При нажатии на пункт меню Settings>Terminal…(Настройки> Терминал ...) всплывет окно всех настроек, в котором можно, кроме всего прочего, установить тип терминала, тип и размер шрифта, а также задать цвета.

Параметры подключения

Шаг 12: Работа в SSH

С помощью MindTerm вы также также будете иметь простой доступ ко всем возможностям подключения SSH. При нажатии на пункт меню Settings>Connection… (Настройки> Подключения ...) всплывет новое окно, где можно задать перенаправление портов, а также указать более экзотические вещи, такие как вид шифрования и вид сжатия.

Шаг 13: Закрытие соединений

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

Шаг 14: Сохранение соединений

Всякий раз, когда вы подключаетесь к новому хосту, апплет MindTerm будет спрашивать у вас, хотите ли вы сохранить хост в списке хостов с указанием необязательного алиаса. Чтобы получить доступ к этим сохраненным соединениям, вам нужно будет нажать на пункт меню File>Connect… (Файл> Подключить ...). Появится всплывающее окно подключения, в котором можно из выпадающего списка выбрать сервер.

Шаг 15: Клиент/сервер SSH на базе браузера

У предыдущих двух методах преимущество в том, что все соединения SSH являются, по существу, лишь клиент-серверными. Это также означает, что на машине, с которой вы работаете, также необходимо разрешить сетевые соединения на портах, которые вам нужны, и чаще всего это будет порт 22. Но что можно сделать, если ваш настольный компьютер заблокирован и на нем позволен лишь трафик HTTP? В этом случае, вам нужно переместить рабочую часть вашего SSH-соединения на другую машину и подключиться к ней через HTTP с помощью вашего браузера. Наиболее распространенным выбором для этого является пакет shellinabox.

Шаг 16: Установка

После того как вы загрузите исходный код, вам необходимо установить его с помощью обычных инсталляционных шагов - ./configure; ./make; ./make, которые должны быть знакомы для большинства пользователей системы Linux. Вы можете сделать это дистанционно на удаленном хосте, к которому вы хотите подключиться.

Шаг 17: Запуск сервера

После того, как пакет shellinabox будет установлен, запустите его при помощи простого запуска демона shellinaboxd на удаленном хосте. Есть много вариантов настройки, доступных в качестве параметров командной строки. Наиболее распространенными среди них будут, например, следующие параметры –port=x и –verbose.

Шаг 18: Запуск клиента

Чтобы запустить клиентскую часть, вам нужно просто открыть браузер и ввести адрес URL к удаленному компьютеру. Это может выглядеть, например, как http://mymachine.com:4200, где вам, возможно, потребуется изменить используемый порт. В результате откроется терминал, в котором можно ввести имя пользователя и пароль.

Шаг 19: Подключение к другой машине

После того, как вы войдете, вы всегда сможете просто через SSH подключиться к другой машине. Но если это все, что вам нужно, вы можете заставить пакет shellinabox сделать это для вас, указав параметр -s /:SSH:мойновыйхост.com. Это означает, что у вас может быть несколько туннелей для подключения к нескольким различным машинах, у каждого из которых будет свой собственный порт.

Шаг 20: Параметры подключения

Поскольку это самый п из доступных веб-клиентов SSH, у вас просто не будет большого количества параметров конфигурирования.

Щелчок правой кнопкой мыши в окне терминала откроет набор параметров, которые будут запомнены в сохраняемых в сессиях куках.

Шаг 21: Работа с SSH

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

Шаг 22: Закрытие соединений

Как и в любом другом клиенте SSH, вы должны выключать соединение с помощью команды exit. Окно браузера останется открытым, а в центре окна появится кнопка с надписью Connect (Подключение). При нажатии на эту кнопку произойдет обновление страницы и снова откроется подключение к удаленному хосту.

Закрытие соединения

Шаг 23: Сохранение соединений

К сожалению, в пакете shellinabox нет реальных способов «сохранить» набор строк подключений к различным машинам. Самый лучший вариант — это настроить несколько демонов с различными портами туннелирования для разных машин, а затем можно сохранить URL-адреса этих серверов в виде закладок в браузере.

Шаг 24: Что дальше?

Надеемся, что данная статья рассказала вам о некоторых вариантах, которые станут для вас полезными в случае, если вы застряли в работе с чрезмерно заблокированном компьютером. Если они не подходят конкретно к вашей ситуации, не бойтесь поискать некоторые другие имеющиеся варианты.