Como posso manter as sessões SSH ativas quando o IP muda ao alternar entre Wi-Fi e Ethernet?

2

No Mac OS X Yosemite, eu quero ser capaz de criar uma interface virtual com um IP estático que esteja vinculado às minhas interfaces Ethernet e Wi-Fi, de modo que, quando eu desacoplar meu laptop, não perca meu SSH conexões.

A resposta simples de apenas trabalhar com o Wi-Fi não é aceitável, pois a rede atinge congestionamentos ou restrições de sinal, e fico com um atraso terrível na minha mesa. Colocar em ponte os adaptadores usando a opção interna do Mac OS X cria um loop de rede que parece não ser capaz de evitar, mesmo usando a árvore de abrangência, a menos que eu tenha procurado algo.

Alguma sugestão?

** Editar A tela não é uma boa solução. Eu já uso no lado do servidor quando estou conectado por causa deste problema. Eu não quero perder minha conexão ssh quando eu mudar de interface, ou seja, eu não quero ter que reconectar e reauth toda vez que eu mudar de ethernet para wifi. Eu normalmente tenho mais de 10 sessões ssh, e é muito para reconectar todas elas

    
por S. Gene 24.02.2015 / 00:12

4 respostas

5

Você pode usar o screen utilitário para manter a sessão em execução mesmo depois de desanexar e, em seguida, você pode anexar novamente à sessão. Está disponível para o Mac OS X, acredito.

Mais informações podem ser encontradas em howtogeek e tutoriais rackaid .

Editar:

Como a tela não é o que o OP está procurando, o Mobile Shell (mosh) se encaixaria perfeitamente no caso de uso. (Isso também é mencionado por @lnrdo em outra resposta neste tópico).

Aqui está Keith Winstein, autor de mosh , apresentando-o neste video .

Embora, em algum momento, eu tenha tido dificuldades em instalar o mosh no servidor ssh quando eu não tinha acesso ao sudo. Não sei se as coisas mudaram desde então.

    
por 24.02.2015 / 02:19
1

Eu não tentei isso - na verdade eu não possuo um Mac, mas topei com esse tipo de problema antes de usar uma WAN, e a solução pode funcionar para você - Configure uma VPN entre o seu Mac e seu servidor - dessa forma a VPN pode se reconectar e fornecer o mesmo endereço VPN - desde que você consiga rotear sua sessão SSH pelo túnel VPN, as keep-alives embutidas no SSH permitirão que a sessão funcione independentemente de você estar ou não. usando WIFI ou LAN ou alternando entre os 2.

Outra possibilidade - e novamente, não mac, então estou teorizando - seria fornecer o mesmo endereço IP (estaticamente) configurado para seu endereço IP e WIFI da LAN, e então usar algum tipo de mudança de perfil para garantir que o WIFI está desligado sempre que você está encaixado - se isso for possível em um MAC. Dependendo da complexidade da rede de comutação, isso pode ou não afetar seu equipamento de comutação.

    
por 24.02.2015 / 05:01
1

Você precisa de algo como mosh. Ele requer componentes do lado do servidor e do cliente, mas funciona para dispositivos móveis (roaming).

A tela e o tmux podem ajudá-lo a continuar seu trabalho após a reconexão, mas o mosh mantém você conectado / reconectando. Na minha experiência, também é útil quando seu roteador tem um endereço IP dinâmico.

    
por 24.02.2015 / 11:08
-3

Você pode modificar alguns parâmetros no seu arquivo sshd.conf . Em particular ClientAliveInterval , que pode ser definido para 60 ou 120 e TCPKeepAlive (sim ou não).

    
por 24.02.2015 / 02:38