AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 417941
Accepted
Sean
Sean
Asked: 2012-08-16 12:20:33 +0800 CST2012-08-16 12:20:33 +0800 CST 2012-08-16 12:20:33 +0800 CST

在切换网络接口连接时保持 ssh 连接有效和持久

  • 772

设想:

  1. 在我的办公桌前,笔记本电脑连接到以太网并通过 SSH 连接到远程服务器
  2. 想带着笔记本电脑搬到办公室的另一边,在不中断 SSH 连接的情况下切换到 WiFi

我已经尝试过:先连接到 WiFi,然后断开以太网;并先断开以太网,然后再连接到 WiFi。这两种方法都不起作用。在使用 Ubuntu 和 OS X 服务器以及两个操作系统选项以及客户端时也尝试过。没运气。

似乎我需要某种方式来告诉我的 SSH 连接它应该开始使用新连接的网络接口而不是旧的断开连接的接口。有任何想法吗?

我意识到我可以整天只用 WiFi,但我不想那样做。我还意识到我可以在远程服务器上的屏幕会话中工作,然后在更改界面后重新连接到该屏幕会话,但我也不想这样做。例如,我可能正在通过 SSH 传输一些大命令,例如数据库转储,或者我可能通过 SSHFS 打开文件,或者我可能只是想避免重新连接的麻烦

networking
  • 10 10 个回答
  • 22465 Views

10 个回答

  • Voted
  1. Best Answer
    Grisha Levit
    2012-08-16T13:56:21+08:002012-08-16T13:56:21+08:00

    我怀疑此解决方案不适用于 SSHFS 等,但您可以看看Mosh,它至少为 shell 本身提供漫游支持。

    • 8
  2. Richard E. Silverman
    2012-08-26T22:44:05+08:002012-08-26T22:44:05+08:00

    根据定义,恐怕你不能这样做。SSH 会话在 TCP 连接上运行,TCP 连接由四元组(源地址、源端口、目标地址、目标端口)定义。您不能将现有连接转移到客户端上的不同地址(除了当接口关闭时操作系统将断开连接这一事实)。

    NAT 可能会使这幅图复杂化,但不会以任何方式帮助您。

    • 7
  3. Thorium
    2016-04-03T23:53:46+08:002016-04-03T23:53:46+08:00

    老线程,我知道,但为了完整起见,因为我一直在寻找同样的东西......

    在 Windows 7 或更高版本中,您应该能够同时选择您的 wifi 适配器和以太网适配器,然后选择“桥接”。这将为您提供一个用于两者的单一 IP 地址,您现在可以随意断开和重新连接以太网(假设有连续的 wifi 覆盖)。

    • 4
  4. Doug
    2016-04-04T06:00:59+08:002016-04-04T06:00:59+08:00

    我通过两种方式管理它:

    从数据中心 (RDP/Windows/etc) 中的终端服务器启动会话

    或者

    安装 GNU screen或tmux并在登录后启动它们。

    我更喜欢tmux因为screen它很老派,但如果你只被允许安装支持的包,screen它在 RHEL 仓库中。

    或者

    两者都做。

    • 3
  5. multia
    2017-07-20T05:05:31+08:002017-07-20T05:05:31+08:00

    问题可能是当您在有线和 wifi 之间切换时,您的源 IP 地址发生了变化。这将防止 ssh 会话返回。

    我在 linux 中通过 vpn 连接并确保 vpn 连接始终为您的帐户提供相同的 ip(不难执行,但很有可能默认情况下您已经通过 vpn 收到相同的 ip 如果它是可用,但最好强制执行以确保)。我主要使用 vtun,但 openvpn 也可以。确保您的连接通过 vpn(正确的路由、推送的前缀……)

    我已经能够通过电缆离线长达 5 分钟,然后连接到 wifi,并且仍然能够与我的所有 ssh 会话保持连接。正在进行的 ping、mtr、htop、...只是在 vpn 恢复时继续,就好像什么也没发生一样。

    • 2
  6. Noam Manos
    2020-06-19T03:15:04+08:002020-06-19T03:15:04+08:00

    您可以绑定Ethernat 和 Wifi 连接。

    这就是我在 RHEL 上的做法:

    # Run as sudo:
    $ sudo -i
    
    $ modprobe bonding
    
    # To enable after reboot, add " bonding " to:
    $ vi /etc/modules-load.d/bonding.conf
    
    # Get your network interfaces IDs
    $ nmcli device status | grep -E "wifi|eth"
      # enp0s31f6   ethernet  connected  
      # wlp58s0     wifi      connected  
    
    # Add new connections
    $ nmcli connection add type bond ifname bond0 con-name My-Connections-Bond
    $ nmcli connection add type ethernet ifname enp0s31f6 master My-Connections-Bond con-name My-Eth-Connection
    $ nmcli connection add type wifi ifname wlp58s0 master My-Connections-Bond ssid My-SSID con-name My-Wifi-Connection
      
    # Add your Wifi credentials
    $ nmcli connection modify My-Wifi-Connection wifi-sec.key-mgmt wpa-psk
    
    $ nmcli connection edit My-Wifi-Connection
    
        nmcli> set wifi-sec.psk YOUR-PASSWORD  
        nmcli> save
        nmcli> quit
    
    # Enable the connections
    $ nmcli connection up My-Connections-Bond
    $ nmcli connection up My-Eth-Connection
    $ nmcli connection up My-Wifi-Connection
      
    

    这应该允许您在 Wifi 和以太网连接之间漫游,并保持当前的 SSH、VPN 等会话连接。

    致谢:https ://fedoramagazine.org/bond-wifi-and-ethernet-for-easier-networking-mobility/

    • 2
  7. HopelessN00b
    2012-08-16T12:43:56+08:002012-08-16T12:43:56+08:00

    这不容易做到。

    我可以向您指出一些非常昂贵的应用程序,它们允许您在 IP 或 AP 之间移动时保持 telnet 或 SSH 会话,甚至在长时间的网络断开连接期间,但它们基本上是通过创建一个始终打开的服务器来实现的客户端机器的端会话,因此服务器不知道连接不同或已断开。

    我想你可以编写这样的代码,但我想如果这很容易做到,我的客户就不会因为在无线手持扫描仪上保持终端连接打开而被强奸 5 位数的费用。

    不过,我确实偶然发现了屏幕,它声称可以创建持久的 SSH 会话,这实际上可能有效……试一试。

    • 1
  8. becomingwisest
    2012-08-16T14:05:23+08:002012-08-16T14:05:23+08:00

    首次启动 ssh 会话时,请尝试仅使用 wifi。然后插入以太网。这应该允许新连接通过以太网,但已建立的连接将保留在 wifi 上。至少我已经看到它在 OSX 上是这样工作的,所以操作系统/硬件可能会有所不同。

    • 0
  9. Mike Graf
    2013-03-21T17:30:59+08:002013-03-21T17:30:59+08:00

    我很确定您可以通过 VM 和隧道进行一些愚蠢的黑客攻击来做到这一点。

    这是未经测试的,但如果它确实有效,请告诉我。

    1. 创建一个具有 2 个接口、1 个桥接适配器(到 wifi)和 1 个仅主机网络的来宾 VM
    2. 假设虚拟机有 192.168.0.25 用于桥接妻子的适配器,192.168.56.5 仅用于主机。
    3. 在 vm 中创建带有到远程端端口 22 的隧道的 ssh 连接 ssh -L 10022:remote.server.example.com:22
    4. 现在通过隧道连接。ssh 192.168.56.3 -p 10022
    5. 当您失去 wifi 连接时,将 VM 上的适配器更改为以太网适配器。
    6. 希望它不会 hup 或搞砸路由表

    让我知道它是否有效。

    • 0
  10. anonymous
    2020-06-19T03:42:23+08:002020-06-19T03:42:23+08:00
    1. 具有不错硬件的 Android 手机 (samsung10+) 2 . 在手机上为 root 虚拟机环境安装 VMOS apt 或使用任何虚拟机连接笔记本电脑,但使用 VirtualBox,因为这是 sefret 方式
    2. 启动到像 NST 这样的实时 Linux 操作系统
    3. 使用手机(Android 10)上的热点选项以及蓝牙热点以及从手机到所有访客的 USB 系绳。所有同时连接到您的手机作为主要网络源或允许连接在 Linux VM 上传递同时使用手机和 wifi 连接
    4. 在 hyper-v 上制作一个 dev windows 10 操作系统并同时运行所有 3 台设备,因为所有网络选项都已连接(pan、eth0、wlan0、usbnet)热点、中继器和来自手机的 usb 系绳,还有热点和 usb 系绳带有 wifi 的 win10 dev VM 和来自 dev os win10 设置的另一个热点
    5. 更易于使用 tor 和 i2p 以加快设置但不需要
    6. 在所有 3 个上运行 ssh,或使用正常的 ssh 连接首选项进行连接。这应该让你的翼展能力像鹰一样飞翔
    • -1

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve