Які варіанти існують для клієнтів тунелювання SSH на iOS?


14

Мені потрібно рішення , яке буде працювати без джейлбрейка , але відповіді , які включають в себе , які можуть допомогти іншим вітаються , але тільки не може бути обраний в якості в відповідь.

У Linux та OSX я використовую ssh у командному рядку для відкриття ssh-тунелів, щоб я міг безпечно запускати програми клієнт-сервер.

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

Які інструменти чи параметри існують та перелічення підтримуваних версій iOS було б ще корисніше, якщо ви зможете надати цей рівень деталізації.

Як я можу налаштувати службу тунелювання ssh на iOS?

Відповіді:


10

iSSH підтримував відкриваючі тунелі. Наприклад, я можу встановити тунель на локальному порту 4444, який вказує на IP-адресу та порт 80. Відкриття localhost: 4444 у Safari завантажує цей веб-сайт через тунель. iSSH також має гарну підтримку збережених конфігурацій та аутентифікації відкритих ключів.

Відповідно до правил App Store, iSSH дозволяється тримати з'єднання відкритим лише до 10 хвилин у фоновому режимі, тому через 9 хвилин або приблизно я отримаю сповіщення, і тунель буде закритий, якщо я не перейду на iSSH досить швидко.

Станом на 2015 рік iSSH більше не доступний. Такий же функціонал, ймовірно, є в інших iOS SSH-клієнтів, але я сам не пробував жодного.


1
для детальної відповіді! Можливо, знадобиться сильна конкуренція з боку інших ОС, щоб змусити Apple в майбутньому зняти ці типи нерозумних обмежень ...
kfmfe04

1
Сумніваюсь, що скоро ви скоротите це обмеження. Найбільша причина його існування - це час автономної роботи. Мінімальні фонові завдання означають, що користувачі можуть спокійно займатися своєю справою, не турбуючись про те, що інші додатки розрядять акумулятор. На пристрої, в якому ефективно працює лише одна програма за один раз, це справді має сенс. Проблема полягає в тому, що це оптимізувати поведінку для користувачів , не полегшуючи життя розробника.
robmathers

Не вдається знайти iSSH в App Store ...
wdg

чи можна десь знайти додаток iSSH? Будь-які посилання?
Дуглас.Сесар

Здається, зараз він мертвий, і в останній версії у мене були деякі проблеми. Я б шукала в іншому місці, але не можу рекомендувати нічого конкретного.
gabedwrds

5

Якщо ви шукаєте додаток для налаштування локального переадресації портів, наприклад:

ssh -f -L 3000:talk.google.com:5222 home -N

Ви можете перевірити SSHTunnel , це дозволяє вам легко керувати та точно керувати своїми SSH-тунелями. Можна створити і поділити проксі SOCKS5 (він же - динамічне переадресація портів) або налаштувати переадресацію локального порту.

Крім того, ви можете вручну вказати локальний порт для прив'язки, налаштувати час очікування з'єднання, переглянути журнали та статистику тощо.

Додаток для переадресації портів для iOS


4

vSSH підтримує тунелювання. Ви можете налаштувати тунелювання в розділі "Переадресація порту" в налаштуваннях з'єднання. Підтримуються локальне, віддалене та динамічне (SOCKS проксі) переадресація.

Ви можете використовувати тунелювання навіть без відкриття сеансу SSH (дозволи на оболонки в цьому випадку для ssh користувача не потрібні).

Через обмеження iOS додаток може працювати у фоновому режимі лише 10 хвилин (iOS 5,6) або 3 хвилини (iOS 7). vSSH нагадує про цей час очікування через сповіщення.


Ласкаво просимо в Інші! Будь ласка, прочитайте довідковий центр щодо самореклами та включіть відмову, якщо ви є автором продукту у своїй відповіді.
гр

3

Це неможливо за чинних правил iOS App Store (і це навряд чи зміниться в осяжному майбутньому). Програми дуже обмежені тим, що вони можуть робити у фоновому режимі, і зберігати такий постійний зв’язок, який потрібен тунель SSH, не дозволяється.

Деякі додатки (наприклад, клієнти VNC) мають вбудовану можливість тунелювання SSH, щоб обійти це, але якщо додатки, які ви використовуєте, не включають його, єдиний варіант (за винятком джейлбрейка) - використовувати вбудований iOS Можливість VPN. Він не підтримує SSH, але він підтримує L2TP / IPSec, PPTP та деякі інші варіанти .


1
Забув згадати, я не хочу продавати свій додаток для публіки (у магазині додатків) - це власний додаток для особистого користування. Якщо дійсно виявиться, що це неможливо під ios, я перейду на Android (я впевнений, що це можливо, але мені доведеться підтвердити) - я схильний бути агностиком платформи ...
kfmfe04

1
Добре, хоча ваш додаток може не підпадати під дію правил App Store, будь-який третій додаток із магазину буде. Що означає, якщо ви не можете втекти з в'язниці, ви не можете це зробити за допомогою сторонньої програми . Звичайно, ви можете використовувати бібліотеку SSH у своєму додатку, щоб включити функціональність SSH безпосередньо, але як це зробити, це питання програмування, більш підходящий для StackOverflow .
robmathers

+1 для цієї альтернативи (ty - я розгляну це перед тим, як перейти на Android) ... ... Я починаю розуміти, чому деякі розробники не люблять розвиватися в такому середовищі. Також дякую за підказку VPN - налаштування VPN-сервера в Linux може бути меншою роботою, ніж спроба отримати тунель ssh в ios.
kfmfe04

1

У мене він працює для клієнта jabber (свого роду) з програмою vssh на сервер Ubuntu. Щойно сеанс SSH відкритий, я запускаю зверху або оглядаю, щоб тримати сеанс активним, але, здається, він буде спокійним через 3 хвилини. Після цього мені потрібно переключитися на додаток vssh, потім повернутися до клієнта jabber, і він працюватиме ще 3 хвилини. Не найкраще рішення для спілкування в чаті, але воно буде працювати вкрай.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.