- Клиенты для создания безопасного SSH соединения в Андроид
- ConnectBot – клиент для удаленного управления SSH на Андроид
- JuiceSSH – agent SSH на Android
- SSH Tunnel – клиент для выхода в SSH через tunnel
- SSH Tunnel — SSH туннелирование для Android
- Запускаем SSH сервер на Android устройстве с использованием Termux
- Подключение к серверу с помощью PuTTY.
- Как направить весь ваш трафик Android через безопасный туннель
- Что вам нужно
- Загрузка и настройка SSH-туннеля для Android
- Тестирование вашего SSH туннельного соединения
Клиенты для создания безопасного SSH соединения в Андроид
Время на чтение: 4 минуты
Разработчики часто используют в работе 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 Tunnel — SSH туннелирование для Android
Q: Зачем это мне?
A: Мы все пользуемся интернет-ресурсами и постоянно передаём/получаем разного рода конфиденциальную информацию из интернета, но не каждый знает, что не всегда эта информация достаточно защищена от злоумышленников. Дело в том, что чаще всего пароли и прочая информация передаётся в незашифрованном виде. Во время подключения через мобильные сети (например 3G) есть серьёзный потенциальный риск того, что в данный момент злоумышленники перехватывают весь трафик, передающийся по воздуху. В случае же публичных или любых других незнакомых вам WiFi точек, администратор точки может получить доступ к любой незашифрованной информации, которая проходит через эту точку. С помощью данного приложения и SSH технологии, вы можете обезопасить себя от подобных угроз. Более того, с помощью этой технологии вы можете обойти любые фильтры трафика на любом уровне.
Q: В чём преимущество по отношению к VPN-туннелю?
A: В действительности, преимуществ нету, даже наоборот. Если у вас есть возможность использовать VPN, то советую использовать именно его в связи с его универсальностью и поддержкой многими программами по стандарту. Используйте SSH-туннели только если нету других вариантов.
Q: Что если у меня нет возможности держать SSH-сервер?
A: В таком случае вы всегда можете арендовать сервер за отдельную плату у любого хостинга, предоставляющего такую возможность.
Предположим что у нас есть уже настроенный SSH-сервер с данными параметрами:
IP-адрес: 11.11.11.11
Открываем SSHTunnel видим большое меню. Нас интересуют данные пункты меню:
Host — Сюда вписываем домен или IP-адрес, по которому работает наш SSH-сервер (в данном примере это IP-адрес: 11.11.11.11).
Port — Порт нашего SSH-сервера. По стандарту 22, если во время настройки вы его не меняли, оставляем как есть.
User — Сюда вписываем логин (в данном примере: user)
Password / Passphrase — Сюда вписываем пароль (в данном примере: pass)
Use socks proxy — Включение динамического перенаправления всех портов. Если нет необходимости в ручной настройке, опция должна быть включена.
Auto Connect — автоматическое создание туннеля при подключении к сети. Если включено, активируется пункт «Binded Network», в котором можно выбрать 3G/WiFi.
Auto Reconnect — автоматическое переподключение к SSH-серверу в случае разрыва соединения.
Global Proxy — если включено, весь трафик без исключения будет проходить через SSH-туннель. Если выключено, активируется пункт «Individual Proxy», где можно выбрать отдельные приложения, трафик которых будет проходить через туннель.
Готово! Теперь ваш трафик будет проходить через безопасный SSH-туннель по одному клику по пункту «Tunnel Switch» либо, для большего удобства, добавьте небольшой виджет на рабочий стол. Текущее состояние соединения будет показано в меню уведомлений сверху.
DD-WRT — это свободная продвинутая прошивка для многих беспроводных маршрутизаторов (роутеров). С некоторых пор настройка и запуск SSH-сервера осуществим очень быстро и легко с помощью панели управления.
Преимущество SSH-сервера, работающего на роутере, в том, что роутер, как правило, работает круглосуточно. Таким образом можно в любое время и в любом месте использовать SSH-туннель, без необходимости оставлять включенным ваш ПК или аренды отдельных серверов. Предположим, что на вашем роутере установлена прошивка DD-WRT. Обратите внимание, что все нижеуказанные действия осуществляются только когда вы в данный момент подключены к интернету через ваш роутер.
Заходим в панель управления. Обычно она находится по адресу http://192.168.1.1/, вводим логин и пароль.
Первым делом нужно активировать SSHd сервис. Заходим во вкладку Services.
Находим блок «Secure Shell» и включаем его. Появятся следующие опции:
Включаем опцию «Password Login»
В самом низу страницы жмём «Save»
Далее нам нужно позволить удалённое подключение к SSH. Переходим во вкладку «Administration».
Находим блок «Remote Access» и включаем опцию «SSH Management» и «Allow Any Remote IP»:
Порт по стандарту 22, если нет необходимости то оставляем как есть.
В самом низу страницы нажимаем «Apply Settings».
Ждём перезагрузки роутера.
Готово! Теперь на вашем роутере работает SSH-сервер, к которому можно в любой момент подключиться и использовать для создания туннеля.
Параметры вашего SSH-сервера:
IP-адрес: Можно узнать зайдя на сайт WhatIsMyIP.
Порт: 22 — по стандарту если он не был изменён.
Логин: тот же логин, который вы использовали для входа в панель управления (по стандарту обычно root).
Пароль: тот же пароль, который вы использовали для входа в панель управления.
Источник
Запускаем SSH сервер на Android устройстве с использованием Termux
У меня часто бывают ситуации, когда мне приходится исправлять или дополнять свой код с чужого ПК. Однако, не на всех рабочих станциях есть мое рабочее окружение. Также, установка нужных компонентов, а потом их удаление занимает лишнее время. Поэтому мне в голову пришла идея — сделать удаленное рабочее окружение, которое всегда будет рядом.
С этим мне решил помочь Termux.
Из названия статьи вы скорее всего поняли, о чем сейчас пойдет речь. Однако, сразу хочу предупредить, что данный способ может подойти не всем.
Итак, приступим.
Нам понадобится сам эмулятор терминала Linux — Termux. Это отличное мобильное приложение, которое подходит не только для сервера, но и для других целей.
Изначально нужно установить OpenSSH пакет.
Далее, нужно сгенерировать ключ для подключения к нашему серверу.
В директории .ssh создалось два файла — id_rsa и id_rsa.pub . Копируем содержимое файла id_rsa.pub в файл authorized_keys .
Теперь мы можем запустить сервер и к нему может подключиться любой, у кого есть ключ. Для запуска сeрвeра используется команда.
Если вам надо посмотреть включен сервер или выключен.
Подключение к серверу с помощью PuTTY.
Мы запустили сервер и теперь нам надо к нему подключиться. Сперва нужно скопировать ключ в память Android устройства, чтобы потом его можно было скопировать на машину, с которой мы будем подключаться. Для этого, нужно дать доступ к памяти устройства.
Далее, копируем ключ в память.
После этого, копируем файл на машину.
Теперь нам понадобится PuTTYgen.
Запускаем программу и загружаем файл, нажимая на кнопку Load. После этого сохраняем приватный ключ (save private key) в формате *.ppk.
Отлично, теперь у нас есть ключ. Осталось только подключиться.
Скачаем сам PuTTY.
Запускаем его. В поле IP адреса вводим локальный адрес нашего Android устройства. Чтобы посмотреть локальный адрес, нужно зайти в Termux и ввести команду.
В разделе wlan0 будет написан локальный IP адрес.
В поле порта вводим стандартный порт для ssh сервера — 8022. Далее, переходим в SSH → Auth и нажимаем кнопку Browse.
Находим тот файл, который сохранили в формате *.ppk, и нажимаем Open. После запуска нажимаем Enter.
Все, мы подключились.
Далее вы можете настроить ваше окружение и подключаться к нему в любое время.
Источник
Как направить весь ваш трафик Android через безопасный туннель
Есть немного проблем безопасности, здоровая доза паранойи и ноу-хау не может позаботиться. Сегодня мы рассмотрим, как защитить мобильное соединение для передачи данных вашего телефона Android от вторжения с помощью бесплатного программного обеспечения и простого туннеля SSH.
HTG Reader Майкл написал простой запрос, который мы с радостью выполним:
Я прочитал ваше руководство по настройке SSH-сервера на домашнем маршрутизаторе и настройке ноутбука для подключения через него, но я немного ошеломлен, пытаясь перевести то, что я узнал в этом руководстве, на мой телефон Android. Есть ли прямой способ получить то же самое шифрование домашней ссылки, которым я наслаждаюсь на своем ноутбуке, на мой телефон Android? Я успешно закончил оригинальное руководство (так что теперь у меня на маршрутизаторе работает SSH-сервер). Можете ли вы помочь достаточно умному читателю?
Мы думаем, что вы продаете себя коротко с достаточно умным лейблом, Майкл. В конце концов, вы смогли прошить свой домашний маршрутизатор, настроить встроенный SSH-сервер и настроить свой ноутбук в качестве клиента. С этим под вашим поясом вы найдете это руководство, чтобы сделать то же самое для вашего телефона совершенно просто! Давайте начнем.
Если вы читаете это неуверенно о том, что такое SSH или почему вы хотите включить его на своем смартфоне (или другом мобильном устройстве), мы настоятельно рекомендуем прочитать раздел « Что такое и зачем настраивать безопасный туннель» в нашей настройке маршрутизатора SSH руководство.
Что вам нужно
Для этого урока вам понадобятся следующие вещи:
- Укоренившийся телефон Android под управлением Android OS 1.6 или выше.
- Бесплатная копия SSH Tunnel для Android .
- Сервер SSH для подключения.
Несколько замечаний по вышеупомянутым требованиям в порядке. Во-первых, для правильной настройки и развертывания SSH-туннеля для Android необходимо иметь root-доступ на телефоне Android. Если ваш телефон еще не рутирован, мы настоятельно рекомендуем прочитать наше руководство по теме « Как рутировать ваше устройство Android и почему вы можете этого захотеть» , так как оно охватывает основы рутирования и показывает, как это сделать.
Во-вторых, в этом руководстве мы будем опираться на наше руководство по настройке SSH на маршрутизаторе для безопасного веб-доступа из любой точки мира . Вам не нужно использовать ту же самую настройку, которую мы используем (встроенный SSH-сервер на маршрутизаторе прошит сторонней прошивкой Tomato), но вам понадобится SSH-сервер (независимо от того, размещен ли он на удаленном сервере или вашей домашней сети) для подключения.
Двигаясь вперед с этого момента, мы будем предполагать, что у вас есть как минимум учетная запись SSH с именем пользователя, паролем и (если вы хотите повысить безопасность) под рукой авторизованной парой ключей для этой учетной записи. Если какое-либо из этих условий покажется вам незнакомым, мы настоятельно рекомендуем ознакомиться с настройкой SSH в руководстве по маршрутизатору, указанном выше.
Загрузка и настройка SSH-туннеля для Android
Хотя SSH Tunnel для Android — не единственный инструмент SSH, доступный для платформы Android, мы предпочитаем его по ряду причин, включая простоту настройки, простоту ежедневного использования и, что самое важное, целевую аудиторию. Туннель SSH был задуман как инструмент для пользователей в Китае и других странах, где жестокие и цензурные правительства сильно ограничивают доступ к Интернету. Если это достаточно хорошо для людей в таких местах, как Китай (которые рискуют своей свободой, обходя правительственные брандмауэры), то этого достаточно для нас. Загрузите бесплатную копию в магазине Google Play (или, если вы не можете получить доступ к магазину Google Play в вашем регионе, загрузите файл APK здесь, чтобы установить его вручную ).
Установите приложение и запустите его в первый раз, чтобы начать процесс настройки. Первый экран, который вы увидите, будет выглядеть так:
Не поддавайтесь желанию проверить Tunnel Switch и включите туннель — мы еще не ввели никакой информации для входа в систему, поэтому она просто выдаст ошибку. Давайте начнем с посещения раздела Настройки туннеля SSH в меню. Введите следующую информацию: IP-адрес вашего хоста и порт, который прослушивает SSH-сервер. Порт по умолчанию — 22 для SSH; если вы специально не изменили порт или не получили указание от вашего SSH-хоста использовать альтернативный порт, оставьте его равным 22.
В разделе «Информация об учетной записи» введите свое имя пользователя и пароль на SSH-сервере. На данный момент у нас достаточно введенной информации, чтобы сформировать простое соединение между SSH Tunnel и вашим SSH-сервером с парольной авторизацией.
Если вы хотите использовать пару ключей для дальнейшей защиты вашего соединения с вашим SSH-сервером — и мы настоятельно рекомендуем вам сделать это — вам потребуется половина закрытого ключа этой пары. (Если вам нужно сгенерировать пару, обратитесь к разделу « Генерирующие ключи» нашего руководства по маршрутизатору SSH.)
Примечание: вы переключаете ваш SSH-сервер между использованием только имени пользователя и пароля и пары имени и пароля со стороны SSH-сервера, а не приложения туннеля SSH на вашем телефоне. Пожалуйста, обратитесь к соответствующему справочному меню / документации на вашем SSH-сервере для помощи в случае необходимости.
Когда у вас есть файл с закрытым ключом (оканчивающийся на .ppk), вам необходимо скопировать его в / sdcard / sshtunnel / key /. Чтобы использовать клавишу, нажмите кнопку меню на телефоне, чтобы открыть следующий интерфейс:
Нажмите Key File Manager и просто перейдите в каталог / sshtunnel / key /. Выберите подходящий ключ для вашего SSH-сервера — вам может пригодиться назвать каждый ключ на основе службы, такой как HomeRouter.ppk или SomeSSHService.ppk, если вы решите использовать функцию Profiles для использования нескольких SSH-серверов.
Как только вы установили пароль и / или закрытый ключ, пришло время завершить последнюю настройку.
В разделе «Информация об учетной записи» находится раздел «Переадресация портов». Чтобы ускорить процесс, мы предлагаем включить встроенный прокси-сервер SOCKS, чтобы повысить совместимость приложений с SSH Tunnel. Просто установите флажок «Использовать socks proxy», чтобы включить его.
Наконец, пришло время решить, хотите ли вы перенаправить все ваше соединение для передачи данных Android через сервер SSH или выборочно перенаправить приложения через сервер. Для маршрутизации всего соединения установите флажок «Глобальный прокси». Для выборочной маршрутизации приложений выберите «Индивидуальный прокси-сервер», а затем отметьте отдельные приложения, которые вы хотите маршрутизировать, такие как веб-браузер и Facebook, как показано выше.
На данный момент мы готовы к работе, но прежде чем запустить туннель, давайте взглянем на последние несколько параметров конфигурации, чтобы вы могли решить, хотите ли вы их использовать или нет. Из подраздела «Параметры функции» меню конфигурации:
- Автоподключение: при включении этого параметра SSH Tunnel будет автоматически проверять и подключаться к серверу SSH, когда он будет доступен.
- Auto Reconnect: включение этого параметра включает протокол автоматического переподключения, поэтому SSH Tunnel восстанавливает соединение в случае неожиданной потери.
- Включить список GFW: эта функция предназначена специально для граждан Китая; он включает прокси-службу SSH Tunnel только для веб-сайтов, специально заблокированных китайским Great Firewall.
- Включить DNS-прокси: по умолчанию этот флажок установлен, и мы рекомендуем оставить его включенным. Если этот флажок установлен, все ваши DNS-запросы направляются через SSH-сервер. Если вы снимите флажок, ваши DNS-запросы будут отправляться через подключение для передачи данных вашего телефона без защиты туннеля SSH. (например, любой, кто шпионит за вами, увидит, куда вы идете, но не данные, которые вы получаете с веб-сайта, который вы посещаете.)
Это все готово к вашему удовлетворению? Большой! Давайте проверим соединение сейчас.
Тестирование вашего SSH туннельного соединения
Чтобы установить, что наше соединение SSH работает, нам нужно сначала установить IP-адрес нашего мобильного устройства. Откройте веб-браузер вашего телефона и выполните поиск в Google «что такое мой ip». В ваших результатах должен отображаться IP-адрес вашего мобильного подключения к данным, например:
Это IP-адрес, назначенный нашим оператором сотовой связи нашему смартфону Android. Хотя у нас настроен SSH-туннель, он еще не включен, и мы все еще отправляем все наши DNS-запросы и запросы данных в открытом виде.
Откройте SSH Tunnel обратно и в самом верху проверьте Tunnel Switch . При этом включается SSH-туннель — когда вы в первый раз делаете это, вы получите приглашение от интерфейса root / SuperUser, подтверждающее, что все в порядке, чтобы дать SSH Tunnel права суперпользователя. Это нормально, продолжайте и установите флажок Запомнить (в противном случае вам нужно будет авторизовать его каждый раз, когда он подключается в будущем).
Дайте ему момент для подключения — он сообщит вам, что подключение успешно. Если вы оставили уведомления в меню настроек, вы также увидите уведомление в выпадающем списке уведомлений, например:
Теперь пришло время проверить правильность маршрутизации браузера через туннель SSH. Перейдите к веб-браузеру и обновите свой запрос «что такое мой ip». Вы должны увидеть новый IP-адрес, который соответствует IP-адресу вашего SSH-сервера, например:
Успех! Простым нажатием кнопки мы перенаправили весь трафик нашего веб-браузера на удаленный SSH-сервер. Теперь все, что происходит между нашим мобильным браузером (или целым телефоном, если вы настроили его для Global Proxy), полностью зашифровано для любого, кто может отслеживать соединение между телефоном и точкой выхода на SSH-сервере.
Это оно! Вы теперь просматриваете на ходу, как супер-шпион, и никто не может встать в вашем бизнесе. Независимо от того, пытаетесь ли вы, чтобы анализаторы пакетов в кафе не увидели ваш логин и трафик на Facebook или загрузку коррумпированного правительства с вашей шеи, вы в деле.
Источник