SSH клиенты для Android. Клиенты для создания безопасного SSH соединения в Андроид Использование сертификатов для безопасного доступа

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

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

В своем обзоре мы рассмотрим лишь наиболее полезные и функциональные SSH-клиенты для работы с ОС Android. Эти утилиты позволяют организовать удаленную работу вашего устройства с SSH-сервером. По умолчанию мы не стали использовать в обзоре платный софт, которого в Google Play превеликое множество, а остановились на бесплатных приложениях.

Одно из старейших приложений для удаленного управления SSH на Android. Его развитие завершилось еще в 2010 году с выходом 4-й версии данной операционной системы, но, несмотря на это, клиент и сегодня пользуется успехом у пользователей.

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

Функционал ConnectBot в целом не отличается богатым выбором настроек. После коннекта с сервером клиент предлагает защитить вход паролем и указать ключ в свойствах хоста. При этом публичную часть ключа можно скопировать в буфер и сохранить на устройстве или отправить в облако.

После подключения появится панель терминала с 3 клавишами в нижней части и контекстное меню.

Полнофункциональный мобильный агент, который поддерживает Telnet и Mosh. Выступает также как клиент для удаленного управления сервером. JuiceSSH надежно защищен двухфакторной аутентификацией.

Основные возможности:

  • возможность настройки шрифта;·
  • поддержка IPv6 и UTF-8;
  • генератор ключей RSA;
  • локальный терминал Android;·
  • работа со всеми продуктами Linux.

После приобретения про-версии приложения к приведенным опциям добавляется еще целый ряд возможных настроек.

SSH Tunnel

Особенностью этого приложения, как уже становится ясно из его названия, стало создание защищенного туннеля между сервером и устройством. Для работы вам понадобятся рут-права.

Приложение позволяет пользователю полностью защитить передачу данных. Принцип работы туннеля заключается в шифровании данных при выходе с устройства и их расшифровке непосредственно на сервере.

Разработчики часто используют в работе SSH клиенты для мобильных операционных систем. Было создано немало SSH agent для различных операционок, но в рамках данного материала мы рассмотрим только SSH решения, заточенные под Android. Рассматривать платные клиенты при существующих бесплатных аналогах, мы не станем.

ConnectBot – клиент для удаленного управления SSH на Андроид

ConnectBot является самым старым из всех существующих клиентов, ведь даже до сих пор имеет поддержку устройств с трекболами, хотя с появлением Android 4.х их ставить прекратили. Правда, если верить Google, разработчики забыли о своем детище с октября 2010 года, отчего приложение имеет неизменный рейтинг 4,7. При первом запуске становится ясно, что SSH клиент создавался еще под самые первые устройства с Android 1.х/2.х, но это не мешает ему работать на более свежих версиях операционной системы.

Клиент для Android имеет приятную особенность в виде возможности быстрого создания подключения (например, к серверам Ubuntu). Пользователю необходимо лишь выбрать протокол (local, telnet или SSH), а после вписать в текстовое поле имя юзера, имя хоста и нажать Return.

В остальном приложение имеет не очень много настроек (все в основном сводится к аппаратным клавишам и screen/wi-fi lock).
При попытке подключения к серверу (например, к Ubuntu), ConnectBot предложит ввести пароль, но в свойствах хоста можно будет также указать ключ, а публичную его часть отправить в буфер обмена и послать, к примеру, самому себе по почте, чтобы впоследствии закинуть в папку ключей на сервер (например, Ubuntu).

Как только вы подключите agent к server, откроется терминал, небольшая панелька с тремя клавишами внизу (esc, ctrl и кнопка вызова электронной клавиатуры) и контекстное меню. Если сделать свайп по левой части экрана, то будут отображены клавиши для управления страницами, а если правую – откроется скроллинг буфера обмена. Правда, мы не нашли возможности нажимать клавишу alt, да и отобразить стрелочки мы тоже не смогли. Все это было реально на клавиатурных устройствах, но их времена давно прошли. Собственно, как и этого agent, ведь разработчики давно забыли за него.

Получить client, который обычно подключается к server Ubuntu, можно по URL: http://connectbot.ru.uptodown.com/android

JuiceSSH – agent SSH на Android

JuiceSSH – полноценный мобильный agent для Android с поддержкой Telnet и Mosh. Есть удаленное управление server, возможность работать сразу с несколькими фоновыми сеансами (например, Ubuntu), поддерживается двухфакторная аутентификация, шифрование и др.

Ключевые возможности клиент JuiceSHH:

  • удаленное управление server (например, Ubuntu);
  • всплывающая клавиатура с массой символов;
  • настройка шрифта при помощи качельки громкости;
  • поддержка внешней клавиатуры;
  • поддержка IPv6;
  • генератор ключей RSA;
  • локальный терминал Android;
  • возможность копирования и вставки в сессиях;
  • двухфакторная аутентификация;
  • agent поддерживает подключение по группам;
  • поддержка UTF-8;
  • открытие URL в обозревателе;
  • работает из коробки с Ubuntu, CentOS, Mint и другими продуктами Linux.

JuiceSHH также имеет дополнительный набор PRO опций, которые доступны после покупки в самом приложении: интеграция с Amazon, синхронизация между несколькими устройствами, шифрование бекапов AES-256, виджет для быстрого доступа к часто используемым соединениям, привлекательные темы для терминал, Zlib сжатие для улучшения SSH сессий.

SSH Tunnel – клиент для выхода в SSH через tunnel

SSH Tunnel – отличное приложение, позволяющее выходить в сеть через tunnel. Удаленное управление программы полностью безопасно, а сама она была разработана на базе Connectbot и Dropbear. SSH Tunnel требует наличия root прав доступа.

Принцип работы SSH Tunnel заключается в следующем: туннель создаётся путем SSH соединения и используется для шифрования тунеллированных данных. Такое решение полностью защищает передачу данных в интернете; незашифрованный трафик протокола шифруется на одном конце SSH соединения и расшифровывается уже только на другом.

Если у вас стоит выбор, использовать SSH Tunnel или VPN туннель, то выбор стоит отдавать второму варианту, ведь преимуществ SSH Tunnel перед VPN не имеет. А вот VPN предлагает универсальность и поддержку многими программами по стандартам. Если у вас нет возможности держать SSH сервер, то для создания SSH Tunnel необходимо арендовать сервер за отдельную плату у любого хостера, который предоставляет такую услугу.

В настройках SSH Tunnel есть много полей, но нас интересуют лишь некоторые:

  • host – сюда нужно вписать IP-адрес или домен, благодаря которому работает ваш SSH;
  • port – стандартно порт идет 22-й;
  • user – сюда прописываем имя юзера от SSH;
  • password – сюда прописываем пароль;
  • use socks proxy – активация динамического перенаправления портов;
  • auto connect – автоматическое подключение туннеля при подключении к интернету;
  • auto reconnect – авто переподключение к SSH серверу в случае обрыва;
  • global proxy – если это поле активно, то весь трафик будет проходить через ssh туннель.

Теперь по кнопке «Tunnel Switch» можно будет запустить процесс туннелирования.

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

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

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

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


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

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

JuiceSSH - SSH Client – отличный терминальный клиент, который может похвалиться поддержкой протоколов Telnet, Local Shell и Mosh.

С помощью приложения можно удаленно управлять компьютером, а также создавать туннельные TCP-соединения, позволяющие, например, передавать файлы. Преимущество протокола SHH состоит в том, что он позволяет шифровать данные используя различные алгоритмы. Клиент способен передавать графические интерфейсы, что еще более упрощает работу с удаленным ПК.

Среди особенностей проекта стоит отметить поддержку IPv6 и UTF-8. Возможность создавать пароли и приватные ключи тоже нельзя назвать лишней. Активное интернет-сообщество приложения постоянно задействует свои умы, разрабатывая новые плагины, что развивает его функционал с каждым днем.

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

Среди преимуществ JuiceSSH - SSH Client можно отметить удобную клавиатуру, возможность создавать подключения к серверу используя приватные ключи, а также наличие гибких и обширных настроек. Проект прекрасно справляется со своими задачами.

Особенности :

  • Полноцветная терминал / клиент SSH
  • Всплывающая клавиатура с необходимыми символами
  • Быстрое изменения размера шрифта с помощью клавиш регулировки громкости
  • Поддержка внешней клавиатуры
  • Жесты для Irssi, WeeChat, tmux и экрана
  • Сообщество сторонних плагинов
  • Официальная поддержка Mosh (http://mosh.mit.edu)
  • Поддержка Telnet
  • Поддержка локального терминала Android
  • URLы, при нажатии, открываюся в браузере
  • Copy & Paste в сессиях
  • Поддержка UTF-8
  • Организация подключений по группам
  • Возможность поддерживать несколько работающих сеансов SSH в фоновом режиме
  • Поддержка IPv6
  • Поддержка пароля и приватного OpenSSH ключа
  • Генератор ключей RSA (поддерживается шифрование)
  • Поддержка двухфакторной аутентификации (например: Google Authenticator)
  • Работает из коробки с Ubuntu, RedHat, CentOS, Mint, Gentoo и с другими разновидностями Linux
  • Сжатие Zlib для улучшения SSH сессий

Pro Особенности (опционально) :

  • Порт форвардинг.
  • Интеграция с Amazon AWS / EC2.
  • Синхронизация между несколькими устройствами
  • Автоматизированная AES-256 шифрование резервных копий всех ваших подключений и настроек.
  • Красивый виджет для быстрого доступа к часто используемым соединениям.
  • Цветовые темы терминала.
  • Автоматическа блокировка, для защиты JuiceSSH после определенного периода бездействия

Скачать Терминальный клиент - JuiceSSH на Андроид вы можете по ссылке ниже.

Разработчик: Sonelli Ltd
Платформа: Android 2.3 и выше
Язык интерфейса: Русский (RUS)
Состояние: Free (Бесплатно)
Root: Не нужен