- Три классных SSH клиента для iOS
- Prompt 2
- Cathode
- Serverauditor
- Одминский блог
- Передача файлов в iPhone с помощью ssh
- Ssh iphone что это такое
- Аналоги PuTTY для iPhone
- Альтернативы для PuTTY для iPhone
- Что в этом списке?
- Рукопожатие SSH простыми словами
- Обмен версиями
- Обмен ключами
- Инициализация обмена ключами
- Инициализация протокола Диффи — Хеллмана на эллиптических кривых
- Ответ по протоколу Диффи — Хеллмана на эллиптических кривых
- Новые ключи
- Заключение
Три классных SSH клиента для iOS
Проблемы с серверами обычно случаются не тогда, когда сидишь в теплом офисе за компьютером, а когда ты в 50 км от города на даче и из техники у тебя только мобильный телефон. Для таких случаев необходимо иметь на своем iPhone хороший SSH-клиент.
Prompt 2
Продукт позиционирует себя как максимально легкий в использовании и предельно безопасный. Пользователи называют его идеальным SSH-клиентом.
Достоинства:
- доступ к приложению по отпечатку пальца;
- возможность группировать закладки с данными доступа к разным серверам по папкам;
- кнопка срочной синхронизации всего и сразу;
- возможность создавать кнопки в панели инструментов для повторяющихся действий;
- генератор приватных ключей;
- удобный менеджер для управления приватными ключами.
Недостатки: не обнаружено, за исключением высокой стоимости.
Цена: 479 рублей.
Страница в AppStore
Cathode
У этого клиента нет такого количества интересных фишек для безопасности, как у вышеописанного собрата. Его главное достоинство – внешний вид. SSH-клиент Cathode выглядит как терминал из фильмов про хакеров 90-ых годов. Даже когда просто пингуешь на нем сервер, чувствуешь себя крутым взломщиком.
Достоинства:
- роскошные ретро-шрифты;
- поддержка нескольких соединений одновременно;
- создание закладок с данными для подключения к серверам;
- менеджер приватных SSH-ключей.
Недостатки: критических недостатков нет, но стоит отметить не столь удобное управление, как у Prompt 2.
Цена: 279 рублей.
Страница в AppStore
Serverauditor
Еще один качественный SSH-клиент с русскоязычным интерфейсом. У него намного меньше фич для обеспечения безопасности, но если вы работаете не в ФСБ, то имеющегося ассортимента вам будет вполне достаточно.
Достоинства:
- поддержка PuTTY ключей;
- импорт ключей через ITunes Files Sharing;
- настройка ПИН-кода для входа в приложение;
- генератор RSA/DSA ключей;
- объединение закладок с хостами в папки;
- напоминание об активных сессия перед закрытием соединения, если приложение в свернутом состоянии.
Недостатки: не обнаружено, с точки зрения удобства интерфейса не сильно уступает Prompt 2.
Цена: 349 рублей (некоторые функции доступны в бесплатной бета-версии).
Страница в AppStore
Источник
Одминский блог
Блог о технологиях, технократии и методиках борьбы с граблями
Передача файлов в iPhone с помощью ssh
Одна из причин почему люди делают джейлбрек (jailbreak) своего телефона заключается в том, чтобы иметь возможность передачи файлов между компьютером и iPhone посредством протокола ssh. Данное краткое руководство повествует о том, как с помощью протокола ssh передавать рингтоны, фотографии, видео и любые другие файлы без использования USB-кабеля.
Несколько слов об SSH: это сетевой протокол прикладного уровня используемый в среде Unix/Linux, с помощью которого осуществляется удаленное управление операционной системой и на его базе организуются зашифрованные туннели. Также его можно использовать для передачи файлов также как и протокол FTP. Так что в данном случае мы осуществляем удаленное управление сервером на базе Iphone.
Установка поддержки SSH с помощью Cydia
Наверняка стает вопрос, почему надо использовать ssh, коли он разработан для Unix систем? Но поскольку iPhone OS является кастрированной версией Mac OS X, которая в свою очередь базируется на ядре UNIX системы, то можно сказать что iPhone OS это облегченная версия UNIX, по этой причине мы и можем использовать SSH.
Поскольку компания Apple не включает поддержку sshв телефоны iPhone мы вынуждены, предварительно сделать jailbreak системы. После того как мы произвели джейлбрейк, то можем спокойно переходить к установке ssh: заходим в Cydia и в поиске задаем “OpenSSH” пакет. Нажимаем иконку Install и устанавливаем на iPhone, после чего перегружаем телефон. Когда система загрузится, никаких новых иконок не появится, но тем не менее утилита SSH поднимается в автоматическом режиме и прослушивает удаленные запросы на предмет установления соединения.
*** У Вас наверняка включена автоблокировка телефона? Дело в том, что в процессе передачи файла по SSH телефон должен быть в активном состоянии, для этого необходимо отключить автоблокировку: идем Settings -> General -> Auto-Lock и выставляем Never.
Передача файлов с использованием SSH
В вашем iPhone уже имеется поддержка SSH и он прослушивает входящие покеты на предмет SSH запроса. Перед тем как передавать файлы на ваш iPhone, необходимо задать IP адрес для iPhone.
Проверить IP адрес можно по следующему пути Settings -> Wi-Fi. Нажимаем на имя активного соединения WiFi и просматриваем подробности. Вы видите IP адрес телефона и его сетевые настройки, там же вы можете задать настройки сети для вашего iPhone. В нашем примере IP адрес будет 10.0.1.5.
Поскольку IP адрес вам уже известен, переходим к следующему шагу- установке подключения к iPhone с компьютера.
Подключения компьютера к iPhone с помощью WinSCP
Для пользоватей Windows я бы порекомендовал скачать программу WinSCP , которая является свободнораспространяемым SSH клиентом для Win XP/Vista. Установка WinSCP элементарна и ни чем не отличается от установки стандартной программы в среде Windows. Для пользователей Unix и Mac систем- в самих системах есть встроенная поддержка ssh и встроенный клиент.
Установив приложение, запускаете WinSCP и, чтобы подключиться к iPhone, нажимаете New. В пункте host name, пишите IP адрес вашего iPhone. В user name и password, используете стандартную связку “root” and “alpine”. Остальные поля не трогаете. После этого нажимаете “Login” для установки соединения с вашим iPhone. Нажимаете “Yes” если вам будет предложено добавить host key в кэш.
*** Вместо кнопки “Login” вы можите нажать “Save…” с тем чтобы сохранить сессию для дальнейшего использования.
Нажмите “Yes” если вам будет предложено сохранить ключи.
После подключения вы увидите структуру файловой системы вашего iPhone. Теперь вы можите передавать файлы между вашим iPhone и компьютером простым перетаскиванием файлов между окошками WinSCP.
Источник
Ssh iphone что это такое
Название: iPhone SHH
Версия: 1.0b
Создатель: Участник форума 4pda, gotical
Описание: Программа для того что бы любой пользователь I-Устройств мог залезть в систему вашего i-устройства при помощи удаленного доступа. При попадании удаленного доступа вы сможете изменять систему. Добавлять Приложения, изменять интерфейс и т.п. без Джейл пака и китайского софта.
Инструкция: Запускаете программу и нажимаете «Получить доступ» далее jar файл даст доступ к системе и покажет вам логин и пароль к устройству в удаленном доступе.
Потом вы нажимаете «Подключиться к iOS» и выскакивает окошко с данными которые нужно ввести.
1. Сервер «LocalHost»
2. Порт «2022»
3. Логин который покажет Jar файл (в пункте получить доступ)
4. Пароль который тоже покажет Jar файл (в пункте получить доступ)
5. Подключиться (Connect)
6. И у вас открылась папка Home вашего i-устройства и можете лазать по своему устройству
(если папка пуста или там всего пару файлов, то там есть кнопка «В корень системы» или т.п.
Требуется: iPhone, iPod или iPad. ПК с Windows и USB
Дополнительно: Установлен Java
джейл: Не требуется
iOS: Любая
Тестирование: iPhone 4/4S — Работает , ipad 4 — Не работает , iPhone 5/5s — Не работает
Скачать: iPhoneSHH.exe ( 12.53 МБ )
— включает исходный код xpwn от iPhone Dev Team и @planetbeing
— включает исходный код syringe от Chronic-Dev и @posixninja
— эксплоиты от @pod2g, geohot и @posixninja
— эксплоит pwnage2 от iPhone Dev Team
— отдельное спасибо @iH8sn0w
Другая сборка и обновления обсуждаются: Тут
PS: Программа запакована 7zip в самораспоковывающися архив и простите что пишу с ошибками.
Сообщение отредактировал gotical — 12.05.18, 13:02
Источник
Аналоги PuTTY для iPhone
PuTTY — это бесплатный эмулятор терминала с открытым исходным кодом, последовательная консоль и приложение для передачи файлов по сети. Он поддерживает несколько сетевых протоколов, включая SCP, SSH, Telnet, rlogin и необработанное сокетное соединение. Он также может подключаться к последовательному порту.
Простой и легкий в использовании эмулятор для подключения к оболочке Linux с вашего компьютера!
Альтернативы для PuTTY для iPhone
Android iOS (iPhone / iPad)
OpenSSH — бесплатная версия инструментов подключения SSH.
- Бесплатная Windows iPhone Mac OS
OpenSSH является бесплатной версией инструментов подключения SSH, на которые полагаются технические пользователи. OpenSSH зашифровывает весь трафик (включая пароли), чтобы эффективно исключить подслушивание, перехват соединений и другие атаки. Кроме того, OpenSSH предоставляет несколько методов аутентификации, а также поддерживает все версии протокола SSH.
Royal TS обеспечивает простой и безопасный доступ к вашим удаленным системам.
- Условно бесплатная Windows Android iPhone Mac OS
Royal TS обеспечивает простой и безопасный доступ к вашим удаленным системам.
Мощный настольный (Chrome) SSH-клиент для iOS и Android.
- Условно бесплатная Windows Android iPhone Mac OS
Termius — это больше, чем просто SSH-клиент, это комплексное решение для командной строки, которое переопределяет удаленный доступ для системных администраторов и сетевых инженеров. Безопасный доступ к устройствам Linux или IoT и быстрое решение проблем, не выходя из вашего кресла, через ноутбук или телефон.
Что в этом списке?
В списке находится программы которые можно использовать для замены PuTTY на платформе iPhone.
Это аналоги похожие по функционалу на PuTTY, которые заменяют программу частично или полностью. Этот список содержит 3 замены.
С помощью пользователей мы собираем каталог похожих друг на друга программ, чтобы вы могли подобрать альтернативу и скачать их. На сайте можно скачать популярные программы для Windows, Mac Os, Android и iPhone
Источник
Рукопожатие SSH простыми словами
Secure Shell (SSH) — широко используемый протокол транспортного уровня для защиты соединений между клиентами и серверами. Это базовый протокол в нашей программе Teleport для защищённого доступа к инфраструктуре. Ниже относительно краткое описание рукопожатия, которое происходит перед установлением безопасного канала между клиентом и сервером и перед началом полного шифрования трафика.
Обмен версиями
Рукопожатие начинается с того, что обе стороны посылают друг другу строку с номером версии. В этой части рукопожатия не происходит ничего чрезвычайно захватывающего, но следует отметить, что большинство относительно современных клиентов и серверов поддерживают только SSH 2.0 из-за недостатков в дизайне версии 1.0.
Обмен ключами
Инициализация обмена ключами
Обмен ключами начинается с того, что обе стороны посылают друг другу сообщение SSH_MSG_KEX_INIT со списком поддерживаемых криптографических примитивов и их предпочтительным порядком.
Криптографические примитивы должны установить строительные блоки, которые будут использоваться для обмена ключами, а затем полного шифрования данных. В таблице ниже перечислены криптографические примитивы, которые поддерживает Teleport.
Обмен ключами (KEX) | Симметричный шифр | Код аутентификации сообщения (MAC) | Алгоритм ключа хоста сервера |
---|---|---|---|
curve25519-sha256@libssh.org | chacha20-poly1305@openssh.com | hmac-sha2-256-etm@openssh.com | ssh-rsa-cert-v01@openssh.com |
ecdh-sha2-nistp256 | aes128-gcm@openssh.com | hmac-sha2-256 | ssh-rsa |
ecdh-sha2-nistp384 | aes256-ctr | ||
ecdh-sha2-nistp521 | aes192-ctr | ||
aes128-ctr |
Криптографические примитивы Teleport по умолчанию
Инициализация протокола Диффи — Хеллмана на эллиптических кривых
Поскольку обе стороны используют один и тот же алгоритм для выбора криптографических примитивов из списка поддерживаемых, после инициализации можно немедленно начать обмен ключами. Teleport поддерживает только протокол эллиптических кривых Диффи-Хеллмана (Elliptic Curve Diffie-Hellman, ECDH), так что обмен ключами начинается с того, что клиент генерирует эфемерную пару ключей (закрытый и связанный с ним открытый ключ) и отправляет серверу свой открытый ключ в сообщении SSH_MSG_KEX_ECDH_INIT .
Стоит подчеркнуть, что эта ключевая пара эфемерна: она используется только для обмена ключами, а затем будет удалена. Это чрезвычайно затрудняет проведение класса атак, где злоумышленник пассивно записывает зашифрованный трафик с надеждой украсть закрытый ключ когда-нибудь в будущем (как предусматривает закон Яровой — прим. пер.). Очень трудно украсть то, чего больше не существует. Это свойство называется прямой секретностью (forward secrecy).
Рис. 1. Генерация сообщения инициализации обмена ключами
Ответ по протоколу Диффи — Хеллмана на эллиптических кривых
Сервер ждёт сообщение SSH_MSG_KEX_ECDH_INIT , а при получении генерирует собственную эфемерную пару ключей. С помощью открытого ключа клиента и собственной пары ключей сервер может сгенерировать общий секрет K.
Затем сервер генерирует нечто, называемое хэшем обмена H, и подписывает его, генерируя подписанный хэш HS (подробнее на рис. 3). Хэш обмена и его подпись служат нескольким целям:
- Поскольку хэш обмена включает общий секрет, он доказывает, что другая сторона смогла создать общий секрет.
- Цикл подписи/проверки хэша и подписи обмена позволяет клиенту проверить, что сервер владеет закрытым ключом хоста, и поэтому клиент подключен к правильному серверу (если клиент может доверять соответствующему открытому ключу, подробнее об этом позже).
- За счёт подписи хэша вместо подписи входных данных, размер подписываемых данных существенно уменьшается и приводит к более быстрому рукопожатию.
Хэш обмена генерируется путём взятия хэша (SHA256, SHA384 или SHA512, в зависимости от алгоритма обмена ключами) следующих полей:
- Мэджики M . Версия клиента, версия сервера, сообщение клиента SSH_MSG_KEXINIT , сообщение сервера SSH_MSG_KEXINIT .
- Открытый ключ (или сертификат) хоста сервера HPub . Это значение (и соответствующий ему закрытый ключ HPriv) обычно генерируется во время инициализации процесса, а не для каждого рукопожатия.
- Клиентский открытый ключ А
- Серверный открытый ключ B
- Общий секрет K
С этой информацией сервер может сконструировать сообщение SSH_MSG_KEX_ECDH_REPLY , применив эфемерный открытый ключа сервера B , открытый ключ хоста сервера HPub и подпись на хэше обмена HS . См. рис. 4 для более подробной информации.
Рис. 2. Генерация хэша обмена H
Как только клиент получил от сервера SSH_MSG_KEX_ECDH_REPLY , у него есть всё необходимое для вычисления секрета K и хэша обмена H .
В последней части обмена ключами клиент извлекает открытый ключ хоста (или сертификат) из SSH_MSG_KEX_ECDH_REPLY и проверяет подпись хэша обмена HS , подтверждающую право собственности на закрытый ключ хоста. Чтобы предотвратить атаки типа «человек в середине» (MitM), после проверки подписи открытый ключ хоста (или сертификат) проверяется по локальной базе известных хостов; если этот ключ (или сертификат) не является доверенным, соединение разрывается.
Такое сообщение означает, что представленного ключа нет в вашей локальной базе данных известных хостов. Хороший способ избежать таких сообщений — использовать вместо ключей сертификаты SSH (что Teleport делает по умолчанию), которые позволяют вам просто хранить сертификат удостоверяющего центра в локальной базе известных хостов, а затем проверять все хосты, подписанные этим УЦ.
Рис. 3. Генерация ответа при обмене ключами ECDH
Новые ключи
Перед тем, как начать массовое шифрование данных, остался последний нюанс. Обе стороны должны создать шесть ключей: два для шифрования, два вектора инициализации (IV) и два для целостности. Вы можете спросить, зачем так много дополнительных ключей? Разве не достаточно общего секрета K? Нет, не достаточно.
Во-первых, почему нужны отдельные ключи для шифрования, целостности и IV. Одна из причин связана с историческим развитием протоколов, таких как TLS и SSH, а именно с согласованием криптографических примитивов. В некоторых выбранных криптографических примитивах повторное использование ключа не представляет проблемы. Но, как верно объясняет Хенрик Хеллстрём, при неправильном выборе примитивов (например, AES-256-CBC для шифрования и и AES-256-CBC-MAC для аутентификации) последствия могут быть катастрофическими. Следует отметить, что разработчики протоколов постепенно отказываются от такой гибкости, чтобы сделать протоколы более простыми и безопасными.
Далее, зачем используются ключи каждого типа.
Ключи шифрования обеспечивают конфиденциальность данных и применяются с симметричным шифром для шифрования и дешифрования сообщения.
Ключи целостности обычно используются с кодом проверки подлинности сообщения (MAC), чтобы гарантировать аутентичность шифротекста. В отсутствие проверки целостности злоумышленник может изменить шифротекст, который передаётся по открытым каналам, и вы расшифруете поддельное сообщение. Такая схема обычно называется Encrypt-then-MAC.
Следует отметить, что современные шифры AEAD (аутентифицированное шифрование с присоединёнными данными, когда часть сообщения шифруется, часть остаётся открытой, и всё сообщение целиком аутентифицировано) вроде aes128-gcm@openssh.com и chacha20-poly1305@openssh.com фактически не используют производный ключ целостности для MAC, а выполняют аутентификацию внутри своей конструкции.
Векторы инициализации (IV) обычно представляют собой случайные числа, используемые в качестве входных данных для симметричного шифра. Их цель состоит в том, чтобы гарантировать, что одно и то же сообщение, зашифрованное дважды, не приведёт к одному и тому же шифротексту. Необходимость такой процедуры отлично демонстрирует знаменитое изображение с пингвином Туксом, зашифрованное в режиме электронной кодовой книги (ECB).
Слева направо. (1) Открытый текст в виде изображения. (2) Криптограмма, полученная шифрованием в режиме ECB. (3) Криптограмма, полученная шифрованием в режиме, отличном от ECB. Изображение представляет собой псевдослучайную последовательность пикселей
Использование (и взлом) векторов IV — интересная тема сама по себе, о которой написал Филиппо Вальсорда.
Наконец, почему ключи идут в парах? Как отметил Томас Порнин, если используется только один ключ целостности, злоумышленник может воспроизвести клиенту отправленную ему запись, и он будет считать её действительной. Со спаренными ключами целостности (у сервера и клиента), клиент выполнит проверку целостности шифротекста и такой трюк не сработает.
Теперь с пониманием того, зачем нужны эти ключи, давайте посмотрим, как они генерируются, согласно RFC:
- Начальный вектор IV от клиента к серверу: HASH(K || H || «A» || session_id)
- Начальный вектор IV от сервера к клиенту: HASH(K || H || «B» || session_id)
- Ключ шифрования от клиента к серверу: HASH(K || H || «C» || session_id)
- Ключ шифрования от сервера к клиенту: HASH(K || H || «D» || session_id)
- Ключ контроля целостности от клиента к серверу: HASH(K || H || «E» || session_id)
- Ключ контроля целостности от сервера к клиенту: HASH(K || H || «F» || session_id)
Здесь используется алгоритм хэширования SHA <256, 384 или 512>в зависимости от алгоритма обмена ключами, а символ || подразумевает конкатенацию, то есть сцепление.
Как только вычислены эти значения, обе стороны посылают SSH_MSG_NEWKEYS , чтобы сообщить другой стороне, что обмен ключами завершён, а все будущие коммуникации должны происходить с использованием новых ключей, созданных выше.
Рис. 4:. Генерация начального вектора IV. Генерация для других ключей происходит по той же схеме, если заменить A и B на C, D, E и F, соответственно
Заключение
На этом этапе обе стороны согласовали криптографические примитивы, обменялись секретами и сгенерировали материал ключей для выбранных примитивов. Теперь между клиентом и сервером может быть установлен безопасный канал, который обеспечит конфиденциальность и целостность.
Вот как рукопожатие SSH устанавливает безопасное соединение между клиентами и серверами.
Источник