Quais opções existem para clientes de encapsulamento SSH no iOS?


14

Eu preciso de uma solução que irá trabalhar sem jailbreaking , mas as respostas que incluem que pode ajudar os outros é bem-vindo, mas só pode não ser selecionado como a resposta.

No Linux e no OSX, eu uso o ssh na linha de comando para abrir os túneis do ssh para poder executar aplicativos cliente-servidor com segurança.

Preciso fazer o equivalente no ios (executar algum tipo de túnel em segundo plano, enquanto executo um aplicativo cliente nesse túnel).

Quais ferramentas ou opções existem e listar as versões suportadas do iOS seriam ainda mais úteis se você puder fornecer esse nível de detalhe.

Como posso configurar um serviço de encapsulamento ssh no iOS?

Respostas:


10

O iSSH suportou a abertura de túneis. Por exemplo, eu posso definir um túnel na porta local 4444 que aponta para um endereço IP e a porta 80. Abrir o host local: 4444 no Safari e carrega o site no túnel. O iSSH também possui um bom suporte para configurações salvas e autenticação de chave pública.

De acordo com as regras da App Store, o iSSH só tem permissão para manter a conexão aberta por até 10 minutos em segundo plano; portanto, após 9 minutos, receberei uma notificação e o túnel será fechado se não voltar para iSSH rápido o suficiente.

A partir de 2015, o iSSH não está mais disponível. A mesma funcionalidade provavelmente existe em outros clientes SSH do iOS, mas ainda não tentei.


11
Digite a resposta detalhada! Talvez ela vai tomar uma forte concorrência de outros sistemas operacionais para conduzir a Apple para levantar esses tipos de restrições tolas no futuro ...
kfmfe04

11
Duvido que você veja essa restrição desaparecer em breve. A maior razão para sua existência é a duração da bateria. Tarefas mínimas em segundo plano significam que os usuários podem realizar seus negócios com segurança, sem se preocupar com outros aplicativos que esgotam a bateria. Em um dispositivo que efetivamente possui apenas um programa em execução por vez, faz bastante sentido. O problema é que ele está otimizando o comportamento para os usuários , não facilitando a vida do desenvolvedor.
robmathers

Não é mais possível encontrar o iSSH na App Store ...
wdg

existe algum lugar onde eu possa encontrar o aplicativo iSSH? Algum link?
JavaScript é necessário para o funcionamento completo desta página

Parece estar morto agora e a última versão tive alguns problemas. Gostaria de procurar outro lugar, mas não posso recomendar nada específico.
gabedwrds

5

Se você estiver procurando por um aplicativo para configurar o encaminhamento de porta local, como:

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

Você pode verificar o SSHTunnel , pois permite gerenciar e controlar com precisão seus túneis ssh. Pode criar e compartilhar o proxy SOCKS5 (também conhecido como Dynamic Port Forwarding) ou configurar um Local Port Forwarding.

Além disso, você pode especificar manualmente a porta local para ligar, configurar o tempo limite da conexão, ver logs e estatísticas etc.

Aplicativo de encaminhamento de porta para iOS


4

O vSSH suporta tunelamento. Você pode configurar o encapsulamento na seção "Encaminhamento de porta" das configurações de conexão. O encaminhamento local, remoto e dinâmico (proxy SOCKS) é suportado.

Você pode usar o encapsulamento mesmo sem abrir a sessão SSH (neste caso, não são necessárias permissões de shell para o usuário ssh).

Devido à limitação do iOS, o aplicativo pode funcionar em segundo plano apenas por 10 minutos (iOS 5,6) ou 3 minutos (iOS 7). O vSSH lembra você sobre esse tempo limite através das notificações.


Bem-vindo ao perguntar diferente! Leia o centro de ajuda sobre autopromoção e inclua um aviso de isenção de responsabilidade se você for o autor do produto em sua resposta.
grg

3

Isso não é possível sob as regras atuais da App Store do iOS (e é improvável que isso mude no futuro próximo). Os aplicativos são muito limitados no que podem fazer em segundo plano, e não é permitido manter o tipo de conexão persistente exigida por um túnel SSH.

Alguns aplicativos (como clientes VNC) têm capacidade de encapsulamento SSH embutido para contornar isso, mas se os aplicativos que você estiver usando não o incluírem, a única opção (com exceção do jailbreak) é usar o iOS embutido Capacidade de VPN. Ele não suporta SSH, mas suporta L2TP / IPSec, PPTP e algumas outras variantes .


11
Esqueci de mencionar, não estou procurando vender meu aplicativo para o público (na App Store) - este é um aplicativo interno para uso pessoal. Se ele realmente Acontece que isso não é possível, sob ios, eu prolly mudar para o Android (certeza que é possível lá, mas eu vou ter que confirmar) - que tendem a ser agnóstico plataforma ...
kfmfe04

11
Bem, mesmo que seu aplicativo não esteja sujeito às regras da App Store, qualquer aplicativo de terceiros da loja estará. O que significa que, a menos que você faça o jailbreak, não poderá fazer isso usando um aplicativo de terceiros . Obviamente, você pode usar uma biblioteca SSH no seu aplicativo para incluir diretamente a funcionalidade SSH, mas como fazer isso é uma pergunta de programação, mais apropriada para o StackOverflow .
21812 robmanthers

+1 para essa alternativa (ty - considerarei isso antes de passar para o Android) ... ... Estou começando a ver por que alguns desenvolvedores não gostam de desenvolver nesse tipo de ambiente. Também obrigado pela dica da VPN - configurar um servidor VPN no Linux pode ser menos trabalhoso do que tentar obter um túnel ssh no ios.
usar o seguinte código

1

Eu o tenho trabalhando para um cliente jabber (mais ou menos) com o aplicativo vssh em um servidor Ubuntu. Depois que a sessão do SSH é aberta, inicio o topo ou os olhares para manter a sessão ativa, mas parece que ela fica inativa após 3 minutos. Depois disso, preciso alternar para o aplicativo vssh e voltar ao cliente jabber e ele funcionará por mais 3 minutos. Não é a melhor solução para conversar, mas funcionará muito bem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.