Jakie opcje istnieją dla klientów tunelujących SSH w systemie iOS?

14

Potrzebuję rozwiązanie, które będzie działać bez jailbreaking , ale odpowiedzi, które zawierają tę pomoc Czy inni są mile widziane, ale po prostu nie może być wybrany na odpowiedź.

W systemie Linux i OSX używam ssh w wierszu poleceń, aby otwierać tunele ssh, aby móc bezpiecznie uruchamiać aplikacje klient-serwer.

Muszę zrobić odpowiednik na iOS (uruchom jakiś tunel w tle, podczas gdy ja uruchomię aplikację kliencką przez ten tunel).

Jakie narzędzia lub opcje istnieją, a lista obsługiwanych wersji iOS byłaby jeszcze bardziej pomocna, gdybyś mógł podać ten poziom szczegółowości.

Jak skonfigurować usługę tunelowania ssh w systemie iOS?

kfmfe04
źródło

Odpowiedzi:

10

Obsługiwane przez iSSH tunele otwierające. Na przykład mogę ustawić tunel na lokalnym porcie 4444, który wskazuje na adres IP i port 80. Otwarcie localhost: 4444 w Safari następnie ładuje tę stronę przez tunel. iSSH ma również dobrą obsługę zapisanych konfiguracji i uwierzytelniania za pomocą klucza publicznego.

Zgodnie z zasadami App Store, iSSH może utrzymywać połączenie otwarte w tle przez maksymalnie 10 minut, więc po około 9 minutach dostanę powiadomienie, a tunel zostanie zamknięty, jeśli nie wrócę do iSSH wystarczająco szybko.

Od 2015 r. ISSH nie jest już dostępny. Ta sama funkcjonalność prawdopodobnie istnieje w innych klientach SSH dla iOS, ale sam nie próbowałem.

gabedwrds
źródło
1
ty za szczegółową odpowiedź! Być może będzie potrzeba silnej konkurencji ze strony innych systemów operacyjnych, aby skłonić Apple do zniesienia tego rodzaju głupich ograniczeń w przyszłości ...
kfmfe04,
1
Wątpię, czy w najbliższym czasie to ograniczenie zniknie. Największym powodem jego istnienia jest żywotność baterii. Minimalna liczba zadań w tle oznacza, że ​​użytkownicy mogą bezpiecznie wykonywać swoją działalność bez obawy, że inne aplikacje wyczerpią baterię. Na urządzeniu, na którym skutecznie działa tylko jeden program naraz, ma to naprawdę sens. Najważniejsze jest to, że optymalizuje zachowanie użytkowników , a nie ułatwia życie programistom.
robmathers
Nie mogę już znaleźć iSSH w App Store ...
wdg
czy jest gdziekolwiek mogę znaleźć aplikację iSSH? Jakieś linki?
Douglas.Sesar,
Wygląda na to, że teraz jest martwy, aw ostatniej wersji miałem pewne problemy. Szukałbym gdzie indziej, ale nie mogę polecić niczego konkretnego.
gabedwrds,
5

Jeśli szukasz aplikacji do skonfigurowania przekierowania portów lokalnych, takiej jak:

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

Możesz sprawdzić SSHTunnel , pozwala to łatwo zarządzać i precyzyjnie kontrolować swoje tunele ssh. Może tworzyć i udostępniać proxy SOCKS5 (znane również jako dynamiczne przekierowywanie portów) lub konfigurować lokalne przekierowywanie portów.

Możesz także ręcznie określić port lokalny do powiązania, skonfigurować limit czasu połączenia, przejrzeć dzienniki i statystyki itp.

Aplikacja do przekazywania portów dla systemu iOS

Jurij Bushev
źródło
4

vSSH obsługuje tunelowanie. Możesz skonfigurować tunelowanie w sekcji „Przekierowanie portów” w ustawieniach połączenia. Obsługiwane jest przekazywanie lokalne, zdalne i dynamiczne (SOCKS proxy).

Możesz korzystać z tunelowania nawet bez otwierania sesji SSH (w tym przypadku uprawnienia powłoki nie są konieczne dla użytkownika ssh).

Ze względu na ograniczenia iOS aplikacja może działać w tle tylko przez 10 minut (iOS 5,6) lub 3 minuty (iOS 7). vSSH przypomina o przekroczeniu limitu czasu poprzez Powiadomienia.

kim jestem
źródło
Witamy, aby zapytać inaczej! Przeczytaj centrum pomocy dotyczące autopromocji i dołącz do zrzeczenia się odpowiedzialności, jeśli jesteś autorem produktu w swojej odpowiedzi.
grg
3

Nie jest to możliwe zgodnie z obecnymi zasadami iOS App Store (i jest mało prawdopodobne, że zmieni się to w dającej się przewidzieć przyszłości). Aplikacje mają bardzo ograniczone możliwości działania w tle, a utrzymywanie trwałego połączenia wymaganego przez tunel SSH nie jest dozwolone.

Niektóre aplikacje (takie jak klienci VNC) mają wbudowaną funkcję tunelowania SSH, aby obejść ten problem, ale jeśli aplikacje, których używasz, nie uwzględniają tego, jedyną opcją (bez jailbreakingu) jest użycie wbudowanego iOS Możliwość VPN. Nie obsługuje SSH, ale obsługuje L2TP / IPSec, PPTP i niektóre inne warianty .

robmathers
źródło
1
Zapomniałem wspomnieć, że nie zamierzam sprzedawać mojej aplikacji publicznie (w App Store) - jest to wewnętrzna aplikacja do użytku osobistego. Jeśli naprawdę okaże się, że nie jest to możliwe w systemie iOS, będę przełączać się na Androida (całkiem pewne, że jest to możliwe, ale będę musiał potwierdzić)
Zwykle jestem
1
Cóż, nawet jeśli twoja aplikacja może nie podlegać zasadom App Store, każda aplikacja innej firmy ze sklepu będzie taka. Co oznacza, że ​​dopóki nie zostaniesz jailbreak, nie możesz tego zrobić za pomocą aplikacji innej firmy . Możesz oczywiście użyć biblioteki SSH w swojej aplikacji, aby bezpośrednio włączyć funkcjonalność SSH, ale jak to zrobić, to pytanie programistyczne, bardziej odpowiednie dla StackOverflow .
robmathers,
+1 za tę alternatywę (ty - rozważę to przed przejściem na Androida) ... ... zaczynam rozumieć, dlaczego niektórzy programiści nie lubią programować w tego rodzaju środowisku. Dziękujemy również za podpowiedź VPN - konfiguracja serwera VPN w systemie Linux może być mniej pracochłonna niż próba uzyskania tunelu ssh w systemie iOS.
kfmfe04,
1

Mam go działającego dla klienta Jabber (w pewnym sensie) z aplikacją VSH na serwerze Ubuntu. Gdy sesja SSH jest otwarta, uruchamiam górę lub spoglądam, aby sesja była aktywna, ale po 3 minutach stanie się uśpiona. Następnie muszę przełączyć się do aplikacji VSH, a następnie z powrotem do klienta Jabber i będzie działać przez kolejne 3 minuty. Nie jest to najlepsze rozwiązanie na czacie, ale będzie działać w mgnieniu oka.

Zawietrzny
źródło