Opsi mana yang ada untuk klien tunneling SSH di iOS?

14

Aku perlu solusi yang akan bekerja tanpa jailbreaking , tapi jawaban yang mencakup bahwa dapat membantu orang lain yang menyambut tetapi hanya mungkin tidak terpilih sebagai yang jawabannya.

Di Linux dan OSX, saya menggunakan ssh pada command-line untuk membuka ssh tunnel sehingga saya dapat menjalankan aplikasi client-server dengan aman.

Saya perlu melakukan yang setara pada ios (menjalankan semacam terowongan di latar belakang, sementara saya menjalankan aplikasi klien melalui terowongan itu).

Alat atau opsi apa yang ada dan daftar versi iOS yang didukung akan lebih bermanfaat jika Anda dapat memberikan tingkat detail seperti itu.

Bagaimana saya bisa mengatur layanan tunneling ssh di iOS?

kfmfe04
sumber

Jawaban:

10

iSSH mendukung terowongan pembukaan. Sebagai contoh, saya dapat mengatur terowongan di port lokal 4444 yang menunjuk ke alamat IP dan port 80. Membuka localhost: 4444 di Safari kemudian memuat situs web itu melalui terowongan. iSSH juga memiliki dukungan yang baik untuk konfigurasi yang disimpan dan otentikasi kunci publik.

Di bawah aturan App Store, iSSH hanya diperbolehkan untuk menjaga koneksi terbuka hingga 10 menit di latar belakang, jadi setelah 9 menit atau lebih saya akan mendapatkan pemberitahuan dan terowongan akan ditutup jika saya tidak beralih kembali ke iSSH cukup cepat.

Pada 2015, iSSH tidak tersedia lagi. Fungsionalitas yang sama kemungkinan ada di klien SSH iOS lainnya, tetapi saya belum mencoba sendiri.

gabedwrds
sumber
1
ty untuk jawaban terperinci! Mungkin akan membutuhkan persaingan yang kuat dari OS lain untuk mendorong Apple untuk mengangkat jenis pembatasan konyol ini di masa depan ...
kfmfe04
1
Saya ragu Anda akan melihat pembatasan ini hilang dalam waktu dekat. Alasan terbesar keberadaannya adalah daya tahan baterai. Tugas latar belakang minimal berarti pengguna dapat dengan aman menjalankan bisnis mereka tanpa khawatir tentang aplikasi lain yang menghabiskan baterai mereka. Pada perangkat yang secara efektif hanya memiliki satu program yang berjalan pada satu waktu, itu benar-benar masuk akal. Tangkapannya adalah itu mengoptimalkan perilaku bagi pengguna , tidak membuat hidup pengembang lebih mudah.
Robmathers
Tidak dapat menemukan iSSH di App Store lagi ...
wdg
apakah ada tempat saya dapat menemukan aplikasi iSSH? Ada tautan?
Douglas.Sesar
Tampaknya sudah mati sekarang dan versi terakhir saya punya beberapa masalah. Saya akan mencari di tempat lain tetapi tidak dapat merekomendasikan sesuatu yang spesifik.
gabedwrds
5

Jika Anda mencari aplikasi untuk mengatur penerusan port lokal seperti:

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

Anda dapat memeriksa SSHTunnel , ini memungkinkan Anda untuk dengan mudah mengelola dan mengontrol terowongan ssh Anda dengan tepat. Dapat membuat dan berbagi proxy SOCKS5 (alias Dynamic Port Forwarding) atau menyiapkan Port Forwarding Lokal.

Selain itu, Anda dapat secara manual menentukan port lokal untuk diikat, mengkonfigurasi batas waktu koneksi, lihat log dan statistik dll.

Aplikasi penerusan port untuk iOS

Yury Bushev
sumber
4

vSSH mendukung tunneling. Anda dapat mengatur tunneling di bagian "Port forwarding" pada pengaturan koneksi. Penerusan lokal, jarak jauh dan dinamis (SOCKS proxy) didukung.

Anda dapat menggunakan tunneling bahkan tanpa membuka sesi SSH (izin shell tidak diperlukan untuk pengguna ssh dalam kasus ini).

Karena batasan iOS, aplikasi hanya dapat bekerja di latar belakang selama 10 menit (iOS 5,6) atau 3 menit (iOS 7). vSSH mengingatkan Anda tentang batas waktu ini melalui Pemberitahuan.

siapa saya
sumber
Selamat Datang di Tanya Berbeda! Harap baca pusat bantuan tentang promosi diri dan sertakan penafian jika Anda adalah pembuat produk dalam jawaban Anda.
GRG
3

Ini tidak mungkin berdasarkan aturan iOS App Store saat ini (dan ini tidak mungkin berubah di masa mendatang). Aplikasi sangat terbatas dalam hal apa yang dapat mereka lakukan di latar belakang, dan menjaga jenis koneksi persisten yang dibutuhkan terowongan SSH tidak diizinkan.

Beberapa aplikasi (seperti klien VNC) memiliki kemampuan tunneling SSH bawaan untuk mengatasi hal ini, tetapi jika aplikasi yang Anda gunakan tidak menyertakannya, satu-satunya pilihan (singkat dari jailbreaking) adalah menggunakan iOS bawaan Kemampuan VPN. Itu tidak mendukung SSH, tetapi mendukung L2TP / IPSec, PPTP, dan beberapa varian lainnya .

perampok
sumber
1
Lupa menyebutkan, saya tidak ingin menjual aplikasi saya untuk umum (di App Store) - ini adalah aplikasi internal untuk penggunaan pribadi. Jika ternyata ini tidak mungkin di bawah ios, saya akan beralih ke Android (cukup yakin itu mungkin di sana, tapi saya harus mengonfirmasi) - Saya cenderung menjadi platform agnostik ...
kfmfe04
1
Yah, meskipun aplikasi Anda mungkin tidak tunduk pada aturan App Store, aplikasi pihak ketiga mana pun dari toko itu akan menjadi. Yang berarti kecuali Anda melakukan jailbreak, Anda tidak dapat melakukan ini menggunakan aplikasi pihak ketiga . Anda tentu saja dapat menggunakan pustaka SSH di aplikasi Anda untuk memasukkan fungsionalitas SSH secara langsung, tetapi bagaimana melakukannya adalah pertanyaan pemrograman, lebih tepat untuk StackOverflow .
Robmathers
+1 untuk alternatif itu (ty - saya akan mempertimbangkannya sebelum pindah ke Android) ... ... Saya mulai melihat mengapa beberapa pengembang tidak suka berkembang di lingkungan seperti ini. Terima kasih juga atas petunjuk VPN - pengaturan server VPN di Linux mungkin kurang berhasil daripada mencoba mendapatkan ssh tunnel di ios.
kfmfe04
1

Saya memilikinya bekerja untuk klien jabber (semacam) dengan aplikasi vssh ke server Ubuntu. Setelah sesi SSH terbuka, saya meluncurkan top atau melirik untuk menjaga sesi aktif, tetapi tampaknya akan aktif setelah 3 menit. Setelah itu saya perlu beralih ke aplikasi vssh lalu kembali ke klien Jabber dan itu akan bekerja selama 3 menit. Bukan solusi terbaik untuk mengobrol tetapi itu akan berhasil dalam keadaan darurat.

Lee
sumber