2

В Mac OS X Yosemite я хочу иметь возможность создавать виртуальный интерфейс со статическим IP-адресом, который связан как с интерфейсами Ethernet, так и с интерфейсом Wi-Fi, поэтому, когда я отсоединяю свой ноутбук, я не теряю соединения SSH.

Простой ответ о том, что нужно отключить Wi-Fi, неприемлем, так как сеть сталкивается с перегрузкой или ограничением сигнала, и я получаю ужасную задержку или разрыв соединения, сидя за моим столом. Соединение адаптеров с помощью встроенной опции Mac OS X создает сетевой цикл, которого я, кажется, не смогу избежать - даже используя связующее дерево - если я что-то не просмотрел.

Какие-либо предложения?

** Редактировать экран не является хорошим решением. Я уже использую его на стороне сервера, когда я подключен из-за этой проблемы. Я вообще не хочу терять ssh-соединение, когда я переключаю интерфейсы, то есть я не хочу повторного подключения и повторной проверки каждый раз, когда я переключаюсь с ethernet на wifi. У меня обычно более 10 сеансов SSH, и очень много, чтобы восстановить их все

4 ответа4

5

Вы можете использовать screen утилиту, чтобы сохранить сеанс в рабочем состоянии даже после отсоединения, а затем снова подключить к сеансу. Я думаю, он доступен для Mac OS X.

Дополнительную информацию можно найти в руководствах по howtogeek и rackaid .


Редактировать:

Поскольку экран не то, что ищет OP, Mobile Shell (mosh) идеально подошла бы для данного варианта использования. (Это также упоминается @lnrdo в другом ответе на эту тему).

Вот Кит Уинстейна, автор Мош, представляя его в этом видео.

Хотя некоторое время назад у меня были трудности с установкой mosh на ssh-сервер, когда у меня не было доступа sudo. Я не знаю, изменились ли вещи с тех пор.

1

Я не пробовал - на самом деле у меня нет Mac, но я сталкивался с такой проблемой раньше через WAN, и решение могло бы сработать для вас - настроить VPN между вашим Mac и вашим сервером - таким образом, VPN может переподключиться и дать вам тот же VPN-адрес - при условии, что вам удастся направить сеанс SSH через VPN-туннель, встроенные в SSH контрольные сообщения позволят сеансу работать независимо от того, используете ли вы WIFI или LAN или переключение между 2.

Другая возможность - и опять же, нет Mac, так что я теоретизирую - будет предоставлять один и тот же IP-адрес (статически), настроенный для IP-адреса вашей локальной сети и WIFI-адреса, а затем использовать какое-то переключение профилей, чтобы гарантировать, что WIFI выключен всякий раз, когда вы пристыкованы - если это возможно на MAC. В зависимости от сложности коммутационной сети, которая у вас есть, это может или не может расстроить ваше коммутационное оборудование.

1

Вам нужно что-то, как мошка. Для этого требуются как серверные, так и клиентские компоненты, но он работает для мобильных (роуминговых) устройств.

Screen и tmux могут помочь вам продолжить работу после повторного подключения, но mosh поддерживает связь с вами / повторное подключение. По моему опыту это также полезно, когда ваш маршрутизатор имеет динамический IP-адрес.

-3

Вы можете изменить некоторые параметры в вашем файле sshd.conf . В частности ClientAliveInterval , который может быть установлен в 60 или 120 и TCPKeepAlive(да или нет).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .