23 votes

Conserver la connexion ssh active et persistante tout en changeant de connexion d'interface réseau

Scenario:

  1. À mon bureau avec mon ordinateur portable branché en Ethernet et connecté à un serveur distant via SSH
  2. Je veux passer de l'autre côté du bureau avec mon ordinateur portable et passer au WiFi sans interrompre la connexion SSH

J'ai essayé: me connecter d'abord au WiFi puis débrancher l'Ethernet; et aussi débrancher d'abord l'Ethernet puis me connecter au WiFi. Aucune des deux approches ne fonctionne. J'ai également essayé avec des serveurs Ubuntu et OS X ainsi que les deux options d'OS pour le client. Pas de chance.

Il semble que j'ai besoin d'une manière de dire à ma connexion SSH qu'elle devrait commencer à utiliser l'interface réseau nouvellement connectée au lieu de l'ancienne interface déconnectée. Des idées ?

Je réalise que je pourrais simplement rester sur le WiFi toute la journée, mais je ne veux pas le faire. Je sais aussi que je pourrais simplement travailler depuis une session screen sur le serveur distant et ensuite me reconnecter à cette session screen après avoir changé d'interfaces, mais je ne veux pas le faire non plus. Par exemple, je pourrais être en train d'exécuter une grosse commande comme une sauvegarde de base de données via SSH ou j pourrais avoir des fichiers ouverts via SSHFS, ou je pourrais simplement vouloir éviter l'ennui de me reconnecter

2voto

multia Points 21

Le problème vient probablement du fait que votre adresse IP source change lorsque vous passez de la connexion câblée au wifi. Cela empêchera les sessions ssh de revenir.

J'ai géré cela sous Linux en me connectant via un VPN et en m'assurant que la connexion VPN donne toujours la même IP à votre compte. Ce n'est pas difficile à faire, mais il est probable que vous receviez déjà la même IP via VPN par défaut de toute façon, mais il est préférable de le renforcer pour en être sûr. J'utilise principalement vtun, mais openvpn fonctionne également. Assurez-vous que vos connexions passent par le VPN (route correcte, préfixes poussés,...)

J'ai pu rester hors ligne du câble pendant même 5 minutes, puis me connecter au wifi et rester connecté à toutes mes sessions ssh. Les pings en cours, les mtrs, htop,... se poursuivent normalement lorsque le VPN est rétabli comme si rien ne s'était passé.

1voto

HopelessN00b Points 53075

Il est difficile de le faire facilement.

Je peux vous indiquer plusieurs applications très coûteuses qui vous permettent de maintenir une session telnet ou SSH lors du passage entre les adresses IP ou points d'accès, voire lors de périodes prolongées de déconnexion du réseau, mais elles parviennent essentiellement à cela en créant une session côté serveur toujours ouverte pour la machine cliente, de sorte que le serveur ne remarque pas la différence de connexion ou la déconnexion.

Je suppose que vous pourriez développer une telle solution, mais j'imagine que si c'était facile à faire, mes clients ne seraient pas frappés de frais à cinq chiffres pour maintenir leurs connexions terminal ouvertes sur des scanners portables sans fil.

Cependant, j'ai découvert screen, qui prétend créer des sessions SSH persistantes, ce qui pourrait en fait fonctionner... essayez-le.

0voto

becomingwisest Points 3258

Essayez d'être uniquement sur le wifi lorsque vous démarrez la session ssh. Ensuite, branchez votre connexion Ethernet. Cela devrait permettre aux nouvelles connexions de passer par l'Ethernet, mais la connexion établie restera sur le wifi. Du moins, c'est ainsi que je l'ai vu fonctionner avec OSX, donc le système d'exploitation/le matériel peut varier.

0voto

TheUnicornMaster Points 1139

Je suis assez sûr que vous pouvez le faire avec une quantité ridicule de piratage w/ VMs et de tunneling.

Ceci n'a pas été testé, mais faites-moi savoir si cela fonctionne effectivement.

  1. Créez une VM invité avec 2 interfaces, 1 adaptateur ponté (vers le wifi) et 1 réseau uniquement pour l'hôte
  2. Disons que la VM a 192.168.0.25 pour l'adaptateur ponté vers la wifi et 192.168.56.5 pour le réseau uniquement pour l'hôte.
  3. Dans la vm, créez la connexion ssh w/ un tunnel vers le port 22 du côté distant ssh -L 10022:remote.server.example.com:22
  4. Maintenant connectez-vous à travers le tunnel. ssh 192.168.56.3 -p 10022
  5. Lorsque vous perdez votre connexion wifi, changez l'adaptateur sur la VM vers l'adaptateur ethernet.
  6. En espérant que cela ne fasse pas planter ou perturbe la table de routage

Faites-moi savoir si cela fonctionne.

-1voto

Dinesh Prajapati Points 4485
  1. Téléphone Android avec un matériel décent (samsung10+) 2. Installer VMOS apt sur le téléphone pour un environnement vm rooté ou utiliser n'importe quelle VM pour la connexion au laptop mais utiliser VirtualBox car c'est le moyen secret
  2. Démarrer sur un système d'exploitation Linux en direct comme NST
  3. Utiliser l'option de point d'accès sur votre téléphone (Android 10), ainsi que le point d'accès bluetooth et également le partage de connexion usb depuis le téléphone vers tous les visiteurs. Tous se connectant simultanément à votre téléphone en tant que source principale du réseau ou permettant aux connexions de passer sur le VM Linux tout en utilisant le téléphone et les connexions wifi en même temps
  4. Créer un système d'exploitation de développement Windows 10 sur hyper-v et exécuter les 3 appareils ensemble, toutes les options de réseau étant connectées (pan, eth0, wlan0, usbnet) point d'accès, répéteur et partage de connexion usb depuis le téléphone, ainsi que point d'accès et partage de connexion usb sur la VM Win10 dev avec wifi et un autre point d'accès depuis les paramètres de dev os win10
  5. Il est plus facile d'utiliser tor et i2p pour une configuration plus rapide mais ce n'est pas nécessaire
  6. Exécuter ssh sur les 3, ou se connecter en utilisant les préférences de connexion ssh normales. Cela devrait vous donner des capacités d'envergure pour voler comme un aigle

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X