Oc-windows.ru

IT Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Клиенты для создания безопасного SSH соединения в Андроид

Клиенты для создания безопасного SSH соединения в Андроид

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

JuiceSSH-----SSH-klient-dlya-Android-e1403688265109

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

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

Существует три типа переадресации портов SSH:

  • Перенаправление локального порта. — Перенаправляет соединение с клиентского хоста на хост-сервер SSH, а затем на порт хоста назначения.
  • Перенаправление удаленного порта. — Перенаправляет порт с хоста сервера на хост клиента, а затем на порт хоста назначения.
  • Динамическая переадресация портов. — Создает прокси-сервер SOCKS, который обеспечивает связь через ряд портов.
Читать еще:  Как спроектировать кухню на компьютере

В этой статье объясняется, как настроить локальные, удаленные и динамически зашифрованные туннели SSH.

Перенаправление локального порта

Перенаправление локального порта позволяет вам перенаправить порт на локальном (ssh-клиент) компьютере на порт на удаленном (ssh-сервере), который затем перенаправляется на порт на конечном компьютере.

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

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

В Linux, macOS и других системах Unix, чтобы создать переадресацию локального порта, передайте параметр -L клиенту ssh :

Используются следующие параметры:

  • [LOCAL_IP:]LOCAL_PORT — IP-адрес и номер порта локального компьютера. Если LOCAL_IP опущен, клиент ssh привязывается к локальному хосту.
  • DESTINATION:DESTINATION_PORT — IP или имя хоста и порт конечного компьютера.
  • [USER@]SERVER_IP — удаленный пользователь SSH и IP-адрес сервера.

В качестве LOCAL_PORT можно использовать любой порт с номером больше 1024 . Порты с номерами меньше 1024 являются привилегированными и могут использоваться только пользователем root. Если ваш SSH-сервер прослушивает порт, отличный от 22 (по умолчанию), используйте параметр -p [PORT_NUMBER] .

Имя хоста назначения должно разрешаться с сервера SSH.

Допустим, у вас есть сервер базы данных MySQL, работающий на машине db001.host во внутренней (частной) сети, на порте 3306, который доступен с машины pub001.host , и вы хотите подключиться к базе данных с помощью клиента MySQL на локальном компьютере. сервер. Для этого вы можете перенаправить соединение, используя следующую команду:

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

Теперь, если вы db001.host:3306 базы данных на pub001.host компьютере pub001.host 127.0.0.1:3336 , соединение будет перенаправлено на db001.host:3306 MySQL db001.host:3306 через компьютер pub001.host который действует как промежуточный сервер.

Вы можете перенаправить несколько портов в несколько пунктов назначения с помощью одной команды ssh. Например, у вас есть другой сервер базы данных MySQL, работающий на компьютере db002.host , и вы хотите подключиться к обоим серверам со своего локального клиента, вы должны запустить:

Чтобы подключиться ко второму серверу, вы должны использовать 127.0.0.1:3337 .

Когда целевой хост совпадает с SSH-сервером, вместо указания IP-адреса или имени хоста назначения вы можете использовать localhost .

Допустим, вам нужно подключиться к удаленному компьютеру через VNC, который работает на том же сервере и недоступен извне. Вы бы использовали следующую команду:

Параметр -f указывает команде ssh работать в фоновом режиме, а -N не выполнять удаленную команду. Мы используем localhost потому что VNC и SSH-сервер работают на одном хосте.

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

Перенаправление удаленного порта

Перенаправление удаленного порта противоположно перенаправлению локального порта. Это позволяет вам перенаправить порт на удаленном (ssh-сервере) компьютере на порт на локальном (ssh-клиент) компьютере, который затем перенаправляется на порт на конечном компьютере.

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

В Linux, macOS и других системах Unix для создания удаленного перенаправления портов передайте параметр -R клиенту ssh :

Используются следующие параметры:

  • [REMOTE:]REMOTE_PORT — IP-адрес и номер порта на удаленном SSH-сервере. Пустой REMOTE означает, что удаленный SSH-сервер будет связываться со всеми интерфейсами.
  • DESTINATION:DESTINATION_PORT — IP или имя хоста и порт конечного компьютера.
  • [USER@]SERVER_IP — удаленный пользователь SSH и IP-адрес сервера.

Удаленная переадресация портов в основном используется для предоставления доступа к внутренней службе кому-либо извне.

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

Если у вас есть доступ к удаленному серверу SSH, вы можете настроить переадресацию удаленного порта следующим образом:

Приведенная выше команда заставит ssh-сервер прослушивать порт 8080 и туннелировать весь трафик с этого порта на ваш локальный компьютер через порт 3000 .

Теперь ваш коллега-разработчик может ввести the_ssh_server_ip:8080 в своем браузере и просмотреть ваше замечательное приложение.

Если у вас возникли проблемы с настройкой перенаправления удаленного порта, убедитесь, что для параметра GatewayPorts установлено значение « yes в конфигурации удаленного сервера SSH.

Динамическая переадресация портов

Динамическая переадресация портов позволяет создать сокет на локальном (ssh-клиентском) компьютере, который действует как прокси-сервер SOCKS. Когда клиент подключается к этому порту, соединение перенаправляется на удаленный компьютер (сервер ssh), который затем перенаправляется на динамический порт на конечном компьютере.

Таким образом, все приложения, использующие прокси-сервер SOCKS, будут подключаться к серверу SSH, и сервер будет перенаправлять весь трафик в его фактическое место назначения.

В Linux, macOS и других системах Unix для создания динамической переадресации портов (SOCKS) передайте параметр -D клиенту ssh :

Используются следующие параметры:

  • [LOCAL_IP:]LOCAL_PORT — IP-адрес и номер порта локального компьютера. Если LOCAL_IP опущен, клиент ssh привязывается к localhost.
  • [USER@]SERVER_IP — удаленный пользователь SSH и IP-адрес сервера.

Типичным примером динамической переадресации портов является туннелирование трафика веб-браузера через SSH-сервер.

Читать еще:  Нет доступа к флешке: отказано в доступе

Следующая команда создаст туннель SOCKS на порту 9090 :

После того, как туннелирование установлено, вы можете настроить свое приложение для его использования. В этой статье объясняется, как настроить Firefox и браузер Google Chrome для использования прокси-сервера SOCKS.

Перенаправление портов должно быть настроено отдельно для каждого приложения, которое вы хотите туннелировать трафик через него.

Настроить SSH-туннелирование в Windows

Пользователи Windows могут создавать туннели SSH с помощью клиента PuTTY SSH. Вы можете скачать PuTTY здесь .

Запустите Putty и введите IP-адрес SSH-сервера в поле Host name (or IP address) .

В меню « Connection разверните SSH и выберите « Tunnels . Установите переключатель Local для настройки локального, Remote для удаленного и Dynamic для динамической переадресации портов.

  • При настройке локальной переадресации введите локальный порт пересылки в поле « Source Port а в поле « Destination введите хост и IP-адрес назначения, например localhost:5901 .
  • Для перенаправления удаленного порта введите порт перенаправления удаленного SSH-сервера в поле Source Port а в поле Destination введите целевой хост и IP-адрес, например localhost:3000 .
  • При настройке динамической пересылки введите только локальный порт SOCKS в поле Source Port .

Нажмите кнопку « Add , как показано на изображении ниже.

Вернитесь на страницу Session чтобы сохранить настройки, чтобы не вводить их каждый раз. Введите имя сеанса в поле « Saved Session и нажмите кнопку « Save .

Выберите сохраненный сеанс и войдите на удаленный сервер, нажав кнопку « Open .

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

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

Выводы

Мы показали вам, как настроить туннели SSH и пересылать трафик через безопасное соединение SSH. Для простоты использования вы можете определить туннель SSH в файле конфигурации SSH или создать псевдоним Bash, который будет настраивать туннель SSH.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Протокол SSH для чайников: что это и как работает простыми словами

Lorem ipsum dolor

Аббревиатуру SSH встречали многие, но не все понимают, что это такое, как им пользоваться и как он настраивается.

SSH — это Secure Shell (безопасная оболочка) ; это специальный протокол для передачи данных в безопасном режиме. Он очень часто применяется для удаленного управления компьютерами и устройствами по сети.

SSH — что это такое

Протокол SSH-1 начал свою историю в 1995 году. Изначально он имел достаточное количество брешей и проблем, поэтому уже в 1996 году была презентована его следующая версия. SSH-1 и SSH-2 — это два разных протокола, которые не являются совместимыми между собой. На сегодняшний день, когда речь идет о SSH, подразумевается SSH-2. Вторая версия протокола до сих пор работает и за это время претерпела небольшие изменения.

Чистый SSH — это коммерческий продукт, который можно использовать только на платной основе. В бесплатном распространении есть одна из версий SSH — это OpenSSH. Именно протокол OpenSSH наиболее популярен среди разработчиков, так как он бесплатен, очень безопасен и распространяется с открытым исходным кодом.

На что способен SSH

  • можно подключат ь ся к удаленному компьютеру и работать с ним через командную строку;

  • возможно осуществить шифрование данных, применяя различные алгоритмы;

  • он передает любые данные по зашифрованному каналу, в том числе и аудио — или виде оф айлы;

  • может сжать файлы для их дальнейшего шифрования и транспортировки по сети;

  • обеспечивает надежную транспортировку данных и предотвращает несанкционированное подключение к каналу передачи информаци и с целью ее перехвата.

Что нужно, чтобы использовать протокол SSH

  1. SSH-сервер. Именно сервер отвечает за коммуникацию и аутентификацию удаленных компьютеров. Аутентификация на сервере может происходить тремя путями: по IP-адресу клиента, по публичному ключу, по паролю клиента. В качестве SSH-сервера могут выступать следующие программы: OpenSSH, freeSSHd, lsh-server, WinSSHD, MobaSSH и др.

  2. SSH-клиент. Это программное обеспечение , которое нужно для интеграции с SSH-сервером и для выполнения на нем различных действий. Например: взаимодействие с различными файлами, редактирование файлов, контроль процесса функционирования SSH, архивирование файлов, взаимодействие с базами данных. В качестве SSH-клиентов могут выступать: Vinagre, ZOC, lsh-client, SecureCRT, SSHWindows, OpenSSH, Xshell, i-SSH, PuTTY и мн . д р.

Как безопасно применять SSH

  • нужно исключить удаленный доступ с рут-правами к серверу или клиенту;

  • обязательно нужно менять стандартный порт для SSH;

  • нужно пользоваться длинными RSA-ключами;

  • необходимо контролировать IP-адреса , которым разрешен доступ к клиенту и серверу;

  • контролировать ошибки аутентификации, чтобы вовремя определить брут-форс;

  • инсталлировать дополнительные системы защиты;

  • применять специальные ловушки, которые подделывают SSH-сервер.

Что такое протокол SSH на практике

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

Правда есть один н ю анс : SSH-протокол должен поддерживать хостинг-провайдер, которым вы пользуетесь. Большинство современных хостингов уже поддерживают этот протокол. Если ваш тоже поддерживает, то вы сможете оценить достоинства и скорость SS H п о сравнению с тем же FTP.

Заключение

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

Читать еще:  Скачать Zemana AntiMalware бесплатно на компьютер

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Основные команды в SSH используем PuTTY

Для управления VDS/VPS серверов а так же физических серверов, необходимо знать основные команды:

Самые часто употребляемые

reboot — перезагрузка сервера.

mc — файловый менеджер, аналог norton commander

df -h — отображение занятого/свободного места на VDS

top — просмотр загрузки системы, список активных процессов (выход — клавиша q)

mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/дамп.sql — создание дампа дамп.sql

mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/дамп.sql — заливка дампа дамп.sql в базу данных mysql

cd /путь/ — перейти в каталог /путь/

wget http://www.сайт.ру/большой_файл.zip — загрузка файла ‘большой_файл.zip’ напрямую из сети, в текущий каталог VDS, не используя вашу локальную машину.

apachectl restart — перезапуск apache

apachectl startssl — запуск apache

apachectl stop — остановка apache

/usr/local/etc/rc.d/mysql-server restart — перезапуск mysql

/usr/local/etc/rc.d/mysql-server start — запуск mysql

/usr/local/etc/rc.d/mysql-server stop — остановка mysql

Команды выполняются в shell клиенте PuTTY

ssh user@host — подключится к host как user

ssh -p port user@host — подключится к host на порт port как user

ssh-copy-id user@host — добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Файловые команды

ls – список файлов и каталогов

ls -al – форматированный список со скрытыми каталогами и файлами

cd dir – сменить директорию на dir

cd – сменить на домашний каталог

pwd – показать текущий каталог

mkdir dir – создать каталог dir

rm file – удалить file

rm -r dir – удалить каталог dir

rm -f file – удалить форсированно file

rm -rf dir – удалить форсированно каталог dir *

cp file1 file2 – скопировать file1 в file2

cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует

mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2

ln -s file link – создать символическую ссылку link к файлу file

touch file – создать file

cat > file – направить стандартный ввод в file

more file – вывести содержимое file

head file – вывести первые 10 строк file

tail file – вывести последние 10 строк file

tail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк

Управление процессами

ps – вывести ваши текущие активные процессы

top – показать все запущенные процессы

kill pid – убить процесс с id pid

killall proc – убить все процессы с именем proc *

bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне

fg – выносит на передний план последние задачи

fg n – вынести задачу n на передний план

Права доступа на файлы

chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:

? 1 – исполнение (x)

chmod 777 – чтение, запись, исполнение для всех

chmod 755 – rwx для владельца, rx для группы и остальных.

Дополнительные опции: man chmod.

ssh user@host – подключится к host как user

ssh -p port user@host – подключится к host на порт port как user

ssh-copy-id user@hos t – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files – искать pattern в files

grep -r pattern dir – искать рекурсивно pattern в dir

command | grep pattern – искать pattern в выводе command

locate file – найти все файлы с именем file

Системная информация

date – вывести текущую дату и время

cal – вывести календарь на текущий месяц

uptime – показать текущий аптайм

w – показать пользователей онлайн

whoami – имя, под которым вы залогинены

finger user – показать информацию о user

uname -a – показать информацию о ядре

cat /proc/cpuinfo – информация ЦПУ

cat /proc/meminfo – информация о памяти

man command – показать мануал для command

df – показать инф. о использовании дисков

du – вывести “вес” текущего каталога

free – использование памяти и swap

whereis app – возможное расположение программы app

which app – какая app будет запущена по умолчанию

Архивация

tar cf file.tar files – создать tar-архив с именем file.tar содержащий files

tar xf file.tar – распаковать file.tar

tar czf file.tar.gz files – создать архив tar с сжатием Gzip

tar xzf file.tar.gz – распаковать tar с Gzip

tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2

tar xjf file.tar.bz2 – распаковать tar с Bzip2

gzip file – сжать file и переименовать в file.gz

gzip -d file.gz – разжать file.gz в file

ping host – пропинговать host и вывести результат

whois domain – получить информацию whois для domain

dig domain – получить DNS информацию domain

dig -x host – реверсивно искать host

wget file – скачать file

wget -c file – продолжить остановленную закачку

Установка пакетов

Установка из исходников:

dpkg -i pkg.deb – установить пакет (Debian)

rpm -Uvh pkg.rpm – установить пакет (RPM)

Клавиатурные сочетания

Ctrl+C – завершить текущую команду

Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне

Ссылка на основную публикацию
Adblock
detector
×
×