Три полезных Android-инструмента для администраторов Linux- и Windows-систем. ConnectBot – клиент для удаленного управления SSH на Андроид

SSH с английского переводится как безопасная оболочка. Если же говорить более детально, то речь идет о сетевом протоколе, который позволят управлять операционной системой и туннелированием TCP-соединений удаленно. Благодаря своим основным свойствам SSH позволяет безопасно взаимодействовать с незащищённой средой, передавая любые другие сетевые протоколы. Таким образом, SSH подходит не только для удаленного доступа, но и для создания канала видео или аудиосвязи. И если когда-то все это было бесконечно далеко от мира мобильных устройств, то теперь существует JuiceSSH SSH клиент для Android , с которым безопасная оболочка доступна на смартфонах и планшетах.

Основные особенности JuiceSSH:

  • полноценный терминал/ssh клиент
  • клавиатура с символами "которые сложно найти"
  • изменение размера шрифта при помощи кнопок громкости
  • поддержка внешней клавиатуры
  • поддержка плагинов
  • официальная поддержка Mosh
  • поддержка Telnet
  • возможность сохранять SSH расшифровки в Dropbox, Evernote, на Email и SD карту
  • поддержка символов UTF-8
  • работа нескольких сессий в фоновом режиме
  • пароли и двухступенчатая аутентификация
  • работа с Ubuntu, CentOS, RedHat, Mint, Gentoo и другими дистрибутивами Linux

О высоком качестве JuiceSSH говорят отзывы пользователей, средний балл и количество установок приложения в . 4,7 – это достаточно высока оценка, особенно если учесть тот факт, что приложение вплотную подобралось к отметке в 1 миллион установок. Скачать JuiceSSH на Андроид бесплатно можно прямиком с Маркета.

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

Раньше подобные функции встречались лишь на компьютерах, сейчас же, с появлением стать всесильным можно и на мобильном девайсе, главное провести серию настроек. Дальше получится передавать любые команды серверу, загружать и собирать данные, ну, а единственной проблемой на пути «прогресса» станет лишь не совсем удобная виртуальная клавиатура, не позволяющая слишком быстро вводить текст (хотя с остальными возможностями полный порядок – доступен и вызов специальных символов, и даже с кодировками не возникнет проблем).

Из дополнительных возможностей клиента:
1. Оформление. Настроить тему, выбрав подходящие цвета и оттенки, расположение некоторых клавиш интерфейса и определенных панелей – больше не проблема.

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


4. Примочки. Интеграция, сетевое копирование, работа в команде, блокировки доступа, генераторы ключей и поддержка особенно сложных протоколов, вроде IPv6. Список практически бесконечен, поэтому пора не читать, а приступать к работе!

Бесплатная утилита для android давно заняла почетное место в алее славы схожих по тематике приложений, а потому не пропустите настоящего зверя!

Подключайтесь к своим серверам через SSH, VNC или веб-браузер

Администрирование систем – тяжелая работа, и возможность быстро реагировать на проблемы – это несомненный плюс. Не так давно проблема с сервером означала телефонный звонок с последующим выездом в ЦОД для исправления ситуации. Сегодня, имея полноценные компьютеры, такие как смартфоны или планшеты, буквально у себя в руках, системный администратор может значительно облегчить себе жизнь. Загрузите в Android несколько приложений, и вы сможете дистанционно контролировать серверы и службы, получать оповещения и предупреждения и решать проблемы без всяких поездок.

В этом руководстве рассмотрены простые, но важные задачи, связанные с подключением к удаленным серверам. Я использую ConnectBot для работы с командной строкой SSH, для VNC и TeamViewer на основе браузера для работы в графическом интерфейсе пользователя.

Что можно делать с помощью Android?

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

Я также не рассматриваю те задачи, которые можно решить с помощью уже имеющихся в устройстве инструментов, таких как браузер (например, PhpMyAdmin или Webmin), клиент электронной почты (для получения оповещений) или чат-клиенты. Вместо этого я сосредоточусь на специальных, менее известных Android-приложениях.

Доступ к консоли SSH

Будь у меня возможность работать только с одним приложением, я предпочел бы организацию сеансов консоли, поэтому давайте начнем с ConnectBot . Обратите внимание, что текущая версия в Google Play – это версия 1.7.1 от октября 2010 года, но работа продолжается, и в GitHub доступны промежуточные и новые версии. Этому бесплатному приложению с несколькими миллионами установок и средним баллом 4,6 из 5 на самом деле трудно что-либо противопоставить.

Обновите свою клавиатуру

Обновите свою клавиатуру

Для работы с консолью вам понадобится лучшая клавиатура, чем стандартное предложение Android. Я установил на обе машины Hacker"s Keyboard , чтобы иметь доступ к функциональным клавишам, клавишам Esc, Tab и т.п. Если на устройстве отсутствуют аппаратные кнопки (как на моем Nook Tablet), воспользуйтесь Button Savior , который с помощью стрелки на краю экрана позволяет вызвать значки всевозможных недостающих кнопок, таких как Menu, Back и Settings.

ConnectBot позволяет подключиться к удаленному серверу через SSH или Telnet или даже к вашему собственному устройству для работы с консоли. Вы вводите имя пользователя, имя хоста, к которому нужно подключиться, и (необязательно) используемый порт. Параметры подключения сохраняются, так что открыв приложение в следующий раз, вы сможете подключиться быстрее. ConnectBot пытается установить выбранное соединение, а затем просит ввести пароль.

Можно подключиться к нескольким серверам одновременно и чередовать эти соединения.

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

Кнопка Back телефона позволяет вернуться в главное меню, где уже открытые соединения отображаются зеленым значком. Для разъединения можно использовать команду exit, сочетание клавиш Ctrl+D или пункт меню Disconnect . Отключившись от сервера, вы увидите в главном меню приложения красный значок. Выберите любое открытое соединение, и вы возвратитесь к этому сеансу. Чтобы соединение не прерывалось в фоновом режиме, отметьте пункт Persist Connections в разделе Settings главного меню. Также отметьте пункты Keep WiFi Active (чтобы соединение случайно не прервалось) и Keep Screen Awake (чтобы в самом разгаре работы не выключился экран).

ConnectBot работает в книжном и альбомном режимах, но чтобы видеть всю клавиатуру Hacker"s Keyboard (см. боковую врезку «Обновите свою клавиатуру» выше), вам понадобится альбомный режим..


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

Клавиши регулировки громкости телефона увеличивают и уменьшают размер шрифта экрана, и есть пункт меню, устанавливающий определенный размер экрана. Если не хватает места, можно даже убрать строку состояния. Содержимое экрана прокручивается путем скользящих движений; в главном меню можно установить размер скроллинга (в строках) — я советую 500 или более строк. В любом случае я стараюсь использовать альбомный режим и по возможности прячу клавиатуру.

Использование сертификатов для безопасного доступа

Выберите на своем устройстве Menu > Manage Pubkeys и следуйте инструкциям по созданию пары ключей. Необходимо указать описание, тип пары ключей (RSA или Digital Signature Algorithm), число используемых битов и необязательный пароль. (Если пароль не задан, то любой пользователь, имеющий доступ к Android-устройству, сможет получить доступ к вашим серверам). Выбрав Generate , поводите пальцем, чтобы сгенерировать случайный код, после чего будет создан и сохранен ключ. После этого открытая часть ключа будет передана на удаленный сервер:

  • выберите Copy Public Key из меню;
  • подключитесь к серверу (посредством обычного пароля);
  • после установления соединения выполните команду echo "...сгенерированный открытый ключ..." >> .ssh/authorized_keys. Функция вставки позволяет вводить кавычки. Убедитесь, что файл authorized_keys имеет разрешение 644.

Чтобы протестировать новый метод доступа, отключитесь от сервера и повторите попытку подключения. Вы должны установить соединения, просто набрав пароль своего локального ключа.

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

Графический доступ через VNC

Если на сервере работает Х Server для Windows, к нему можно обращаться через VNC. Производительность будет не самой высокой, но работать можно. Для этой цели я предпочитаю приложение . Оно относительно старое (последняя сборка вышла в марте 2011 года), но бесплатное, компактное и имеет на своем счету несколько миллионов установок. Это приложение отлично работает, хотя его разработка, похоже, прекратилась. Конечно, я использую его только на планшете: попытки панорамирования и прокрутки полного экрана в мелком окне телефона по меньшей мере проблематичны.

При открытии этого приложения вы получите список ранее установленных соединений, пустые поля, где можно определить новое соединение, и кнопку Connect .


Чтобы создать новое соединение, дайте ему короткое описательное имя и введите пароль, если VNC-сервер, к которому вы подключаетесь, требует его; адрес сервера, порт (который зависит от сервера) и формат цветопередачи. 24-битный цвет выглядит красиво, но заметно замедляет работу.

Не все VNC-серверы поддерживают все возможности цветопередачи; если подключиться не удается, попробуйте другую глубину цвета. Цветовой режим можно изменять и динамически при открытом сеансе VNC, выбрав Menu > Color Mode . Если хотите сохранить данные соединения, отметьте пункт Keep , иначе при выходе они будут удалены.

Когда соединение будет установлено, вы получите на своем планшете, который работает как Android-браузер, обычное представление. (Этот режим работы называется Touch Mouse Pan and Zoom .) Изображение можно прокручивать с помощью скольжения или жестов. Палец играет роль мыши; касание соответствует щелчку левой кнопкой, а двойное касание – правой. Если нужно что-то еще, попробуйте Menu > Send Keys : откроется всплывающее окошко для отправки любой другой комбинации клавиш и щелчков. Можно имитировать и перетаскивание. Если вы потеряете курсор, то Menu > Mouse@ поместит его в центр экрана. Касание с задержкой вызывает появление трех кнопок: две из них служат для изменения размеров экрана (тот же эффект можно получить с помощью жеста щипка), а третья – для отображения виртуальной клавиатуры.

Еще один способ ввода текста – пункт Menu > Send Text , который открывает окно, куда можно вводить текст и отправить его на сервер. Можно даже сохранить текст, такой как пароли, для отправки без повторного ввода. Пункт Menu > More дает несколько дополнительных возможностей, включая разъединение в любое время, передачу сочетания клавиш Ctrl+Alt+Del и получение сведений о соединении. Отметим относительно ограниченный вид удаленного экрана при работе через VNC-соединение.


Дистанционное использование графического интерфейса пользователя обычно не обеспечивает лучший опыт, но android-vnc-viewer решает свою задачу, и если оставить в стороне вопросы быстродействия, то вы получаете возможность работать так, как будто на самом деле стоите рядом с удаленной машиной. На всякий случай держите это приложение под рукой.

Веб-доступ

Настройка VNC на получение доступа через межсетевые экраны, маршрутизаторы и т.п. может оказаться хлопотным делом. Когда я не могу непосредственно обращаться к серверу, я перехожу на TeamViewer , которому требуется только способность сервера подключиться к Интернету. Клиент и сервер подключаются к серверу TeamViewer, а тот служит посредником между Android-устройством и сервером. Отметим, что TeamViewer предоставляется бесплатно только для некоммерческой эксплуатации; для коммерческой требуется лицензия.

Сначала кто-то должен запустить TeamViewer на удаленном компьютере. Я не буду здесь вдаваться в подробности, но ваш помощник может либо установить программу, либо запустить ее только на один раз. Для Linux-систем она работает через Wine.

Ваш помощник увидит окно с 9-значным идентификатором сеанса и паролем.


Для получения доступа введите эти значения в клиенте Android.

TeamViewer можно настроить на использование в стандартном режиме, с фиксированным паролем или вообще без пароля, но ведь у вас будет помощник на удаленной машине, который просто прочтет вам пароль.


Пока сеанс связи открыт, нижняя строка позволяет закрыть соединение, обращаться к виртуальной клавиатуре и мыши, изменять масштаб (с помощью ползунка справа внизу) и выполнять некоторые специальные действия (отправка команды Ctrl+Alt+Del, перезагрузка удаленного компьютера, блокирование ввода удаленного пользователя, чтобы только вы могли работать на его машине и т.п.). Есть также параметры меню для изменения способа отображения информации (для повышения качества или быстродействия), отображения сведений о сеансе, доступа к журналам соединений и других аналогичных функций.


Разработчики TeamViewer решили проблему отсутствующих клавиш «в лоб»: если включить виртуальную клавиатуру, появляется полупрозрачная вкладка, которая позволяет имитировать все специальные клавиши, такие как Shift, Ctrl, Alt, Windows (знакомая пользователям UNIX и Linux как META или MOD4), и даже все функциональные клавиши: Esc, Tab и т.п. Дистанционная работа с этим приложением напоминает использование VNC, но вы заметите разницу в производительности, учитывая, что прежде чем попасть на ваше устройство, данные проходят через дополнительный сервер.

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

Телефон или планшет?

Раньше я работал со смартфоном HTC Desire Z (с выдвижной клавиатурой — это удобно для работы с консолью) и (старым добрым) планшетом Nook, но теперь перешел на Google и работаю с телефоном Google Nexus 5 и планшетом Nexus 7 (в ожидании Nexus 9). Планшет имеет только Wi-Fi-доступ, но при отсутствии подходящей сети я использую телефон в качестве портативной точки доступа к мобильной сети. У обоих устройств есть свои преимущества и недостатки. Телефон удобнее, легче и лучше подходит для получения уведомлений или быстрой проверки доступности сервера. Однако чем экран меньше, тем он неудобнее, и в некоторых случаях работать с телефоном практически невозможно. SSH- или VNC-соединения – самый наглядный пример; для работы с ними потребуется лупа и по-настоящему тонкие пальцы.

Заключение

Работа системного администратора тяжела, но Android открывает несколько способов ее упрощения, позволяя получить доступ к серверам через консоль или графический интерфейс пользователя прямо с мобильного устройства.

Каковы ваши любимые мобильные инструменты системного администрирования? Добавьте свой комментарий!

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

Также ведутся списки рассылки: ConnectBot-users для поддержки пользователей, и ConnectBot-commits для разработчиков.

Android Market

Последняя стабильная версия ConnectBot доступна в Play Market .

Если вы хотите запустить разрабатываемую нестабильную версию, следуйте этим шагам:

  1. Разрешите установку приложений НЕ из Android Market. Чтобы это сделать, зайдите в "Настройки/Settings" → "Приложения/Applications" , и включите там опцию "Неизвестные источники/Unknown sources" .
  2. Удалите все старые версии программы. Чтобы это сделать, зайдите в "Настройки/Settings" → "Приложения/Applications" → "Управление приложениями/Manage Applications" , найдите в списке ConnectBot и удалите. Или же воспользуйтесь командной строкой, введя команду./adb -d uninstall org.connectbot
  3. Установите новую версию. Откройте в браузере страницу ConnectBot на Google Code , и скачайте один из APK файлов, ссылки на которые расположены справа. Когда загрузка завершится, кликните на скачанный файл и следуйте инструкциям по установке. Или же установите программу из командной строки, скачайте APK файл и выполните команду./adb -d install [имя_файла].apk

Домашняя страница проекта ConnectBot на Google Code.