Содержание


Три полезных Android-инструмента для администраторов Linux- и Windows-систем

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

Comments

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

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

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

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

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

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

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

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

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

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

Подключение к удаленному серверу через ConnectBot
Подключение к удаленному серверу через ConnectBot

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

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

Hacker's Keyboard
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. Производительность будет не самой высокой, но работать можно. Для этой цели я предпочитаю приложение android-vnc-viewer. Оно относительно старое (последняя сборка вышла в марте 2011 года), но бесплатное, компактное и имеет на своем счету несколько миллионов установок. Это приложение отлично работает, хотя его разработка, похоже, прекратилась. Конечно, я использую его только на планшете: попытки панорамирования и прокрутки полного экрана в мелком окне телефона по меньшей мере проблематичны.

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

android-vnc-viewer
android-vnc-viewer

Чтобы создать новое соединение, дайте ему короткое описательное имя и введите пароль, если 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-соединение.

Вид удаленного экрана при работе через VNC-соединение
Вид удаленного экрана при работе через VNC-соединение

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

Веб-доступ

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

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

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

TeamViewer на удаленной машине
TeamViewer на удаленной машине

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

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

Ввод в TeamViewer пароля, полученного от помощника
Ввод в TeamViewer пароля, полученного от помощника

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

Инструменты TeamViewer
Инструменты TeamViewer

Разработчики 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 открывает несколько способов ее упрощения, позволяя получить доступ к серверам через консоль или графический интерфейс пользователя прямо с мобильного устройства.

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


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Мобильные приложения, Linux
ArticleID=1019166
ArticleTitle=Три полезных Android-инструмента для администраторов Linux- и Windows-систем
publish-date=10292015