web-dev-qa-db-fra.com

Gardez la connexion SSH en vie et persistante lors de la commutation de connexions d'interface réseau

Scénario:

  1. À mon bureau avec ordinateur portable branché sur Ethernet et connecté au serveur distant sur SSH
  2. Voulez-vous déménager de l'autre côté du bureau avec ordinateur portable et changer de wifi sans interrompre la connexion SSH

J'ai essayé: Connexion au WiFi d'abord puis débranchez Ethernet; Et aussi déconnecter Ethernet d'abord, puis connectez-vous au wifi. Aucune approche ne fonctionne. Également essayé lors de l'utilisation de serveurs Ubuntu et OS X avec les deux options OS pour le client. Pas de chance.

Il semble que j'ai besoin d'une bonne façon de dire à ma connexion SSH qu'il devrait commencer à utiliser l'interface réseau nouvellement connectée au lieu de l'ancienne interface déconnectée. Des idées?

Je me rendrai compte que je pouvais juste rester sur la WiFi toute la journée, mais je ne veux pas faire ça. Je me rends compte également que je peux juste travailler à partir d'une session d'écran sur le serveur distant, puis reliez à nouveau cette session d'écran après avoir changé d'interfaces, mais je ne veux pas faire cela non plus. Par exemple, je voudrais peut-être avoir une bonne commande comme une passe de base de données sur SSH ou que je pourrais avoir des fichiers ouverts via SSHFS ou que je souhaiterais simplement éviter la nuisance de re-connecter

13
Sean

Je soupçonne que cette solution ne fonctionnera pas pour SSHFS, etc., mais vous pourriez jeter un coup d'œil à Mosh qui fournit un support itinérant pendant au moins la coquille elle-même.

4
Grisha Levit

Je crains que vous ne puissiez pas faire cela, par définition. Une session SSH fonctionne sur un TCP, qui est définie par l'adresse de quatre tuples (adresse source, port source, adresse de destination, port de destination). Vous ne pouvez pas modifier la connexion existante à une adresse différente. sur le client (mis à part le fait que le système d'exploitation démolira la connexion lorsque l'interface diminue).

Nat peut compliquer cette image, mais pas de quelque manière que ce soit qui vous aidera.

4

Vieux fil, je sais, mais pour des raisons de complétude depuis que je cherchais la même chose ...

Dans Windows 7 ou plus récent, vous devriez simplement pouvoir sélectionner votre adaptateur WiFi et votre adaptateur Ethernet et choisir "Connexion de pont". Cela vous donnera une seule adresse IP pour les deux, et vous pourrez désormais vous déconnecter et reconnecter Ethernet à volonté (couverture wifi continue).

2
Thorium

Je gère cela de deux manières:

Démarrez la session à partir d'un serveur Terminal Server dans votre Datacenter (RDP/Windows/etc.)

OR

Installez GNU écran ou tmux et commencez-les après la connexion.

Je préfère tmux parce que screen est assez ancienne école, mais si vous n'êtes autorisé à installer que des packages pris en charge, screen est dans le Rhel Repo.

OR

Faire les deux.

2
Doug

Cela ne peut pas être fait facilement.

Je peux vous diriger à plusieurs applications très coûteuses qui vous permettent de conserver une session Telnet ou SSH lors de la déplacement entre IPS ou APS, ou même pour des périodes de déconnexion du réseau de périodes prolongées, mais elles y parviennent essentiellement en créant un serveur toujours ouvert. Session auside pour la machine cliente afin que le serveur ne connaisse pas la connexion différente ou déposée.

Je suppose que vous pouviez coder une telle chose, mais j'imagine que si c'était facile à faire, mes clients ne seraient pas violés avec 5 coûts de la figure pour conserver leurs connexions terminales ouverte sur des scanners de poche sans fil.

Cependant, je suis tombé sur écran, qui prétend créer des sessions ssh persistantes , qui peut réellement fonctionner ... Donnez-lui un coup.

1
HopelessN00b

Je suis à peu près sûr que vous pouvez le faire avec une quantité stupide de piratage piratage et de tunneling.

Ceci n'est pas testé, mais laissez-moi savoir si cela fonctionne effectivement.

  1. Créer un invité VM=== A propos de 2 interfaces, 1 adaptateur ponté (au wifi) et 1 réseau seulement
  2. Disons que le VM a 192.168.0.25 pour l'adaptateur ponté à la femme et 192.168.56.5 à l'hôte uniquement.
  3. Dans la machine virtuelle Créez la connexion SSH avec un tunnel sur le port de la télécommande 22 ssh -L 10022:remote.server.example.com:22
  4. Maintenant, connectez-vous via le tunnel. ssh 192.168.56.3 -p 10022
  5. Lorsque vous perdez votre connexion WiFi, modifiez l'adaptateur sur le VM sur l'adaptateur d'éther net.
  6. Espérons que cela ne dépasse pas ou fassez la table de routage

laissez-moi savoir si cela fonctionne.

0
Mike Graf

Essayez d'être uniquement sur WiFi lorsque vous démarrez la session SSH. Ensuite, branchez votre Ethernet. Cela devrait permettre à de nouvelles connexions de passer sur l'Ethernet, mais la connexion établie restera sur le WiFi. Au moins, j'ai vu cela fonctionner comme celui-ci avec OSX, alors le système d'exploitation/matériel peut varier.

0
becomingwisest