SSH зависает на Mac Book Pro; AFS и сетевые настройки?

У меня проблема с зависанием SSH на моем Mac Book Pro. Это происходит со мной только после того, как я прихожу с работы домой после того, как использую SSH на работе. Я сузил проблему до трех факторов: SSH, наш рабочий сетевой диск AFS и метод сетевого подключения.

На работе мы используем диск AFS с аутентификацией Kerberos для выполнения всей нашей работы по разработке программного обеспечения. Я проверяю подлинность с помощью Kerberos, чтобы получить доступ к диску AFS, на котором находится весь мой исходный код, но я открываю локальный редактор (Eclipse), который ссылается на файлы на диске AFS. Всякий раз, когда мне нужно скомпилировать свой код, я подключаюсь по SSH к моему серверу разработки (который также аутентифицируется на диске AFS) и компилирую оттуда. (Примечание по здравомыслию: я знаю, что это супер дурацкая установка, но обещаю, что я не имел к этому НИЧЕГО отношения. Я просто делаю то, что у меня есть.)

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

У меня есть подозрение, что здесь как-то виновато соединение AFS / конфигурация Ethernet. Перезапуск демона SSH не решает проблему. Единственный способ исправить эту проблему, который я нашел, - это перезагружать компьютер каждый раз, когда я хочу использовать SSH. Имейте в виду, что у меня нет других (известных) проблем с сетью дома после того, как у меня был ноутбук на работе.

У меня есть коллега, который сообщил мне о той же проблеме со своим MBP.

Я действительно озадачен этим. Пожалуйста, дайте некоторые указания. Спасибо!


person localshred    schedule 13.11.2008    source источник
comment
Он висит бесконечно или просто долго? Я видел, как ssh зависает, когда обратный поиск DNS на стороне сервера занимает много времени (например, домашний интернет-провайдер не имеет настройки обратного DNS для вашего IP). Никогда не видел, чтобы это заняло больше 30 секунд или около того.   -  person Brian C. Lane    schedule 27.11.2008
comment
Не могли бы вы уточнить, что означает «зависает SSH»? А как ты дома пользуешься SSH? Вы подключаетесь к Mac на локальном хосте? Или через другую систему в домашней сети?   -  person ayaz    schedule 27.11.2008
comment
На самом деле это не связано с программированием .. stackoverflow.com/questions/321618/   -  person dbr    schedule 28.11.2008
comment
Это происходит со мной постоянно с ноября 2014 года. Я использую ~ ^ Z, чтобы убить, а затем снова вхожу в систему. В рабочее время хуже. У меня нет решения, но я согласен, что это не вопрос программирования (dbr).   -  person John Tang Boyland    schedule 16.01.2015


Ответы (3)


Не могли бы вы подробнее рассказать о "зависании SSH"?

Похоже, ваш клиент ssh зависает после потери соединения, и вы не можете ничего делать в терминале. Чтобы обойти это, вы можете использовать escape-символ ssh (по умолчанию: ‘~’), чтобы начать escape-последовательность, и использовать символ '.' чтобы разорвать соединение.

Вы можете получить список других escape-последовательностей ssh, используя ~?, Вот тот, который используется для SSH-клиента OpenSSH:

Supported escape sequences:
~.  - terminate connection
~B  - send a BREAK to the remote system
~C  - open a command line
~R  - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~#  - list forwarded connections
~&  - background ssh (when waiting for connections to terminate)
~?  - this message
~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

Если вы набираете ~. не работает, возможно, у вас отключен escape-символ, и в этом случае вы можете поставить

EscapeChar ~

внутри ~ / .ssh / config или / etc / ssh_config

Даже если escape-символ отключен, вы можете просто открыть другое окно терминала и ввести

killall ssh

чтобы завершить все запущенные процессы ssh, что позволит вам снова подключиться.

Перезапуск демона SSH не решит эту проблему, потому что sshd позволяет другим клиентам подключаться к вашему компьютеру и не влияет на ваших клиентов ssh, подключающихся к какой-либо другой машине.

person Paul Ivanov    schedule 04.12.2008

Похоже, что исправление моей проблемы заключается в удалении моих токенов Kerberos, которые действительны на работе, но недействительны дома. Надеюсь, это поможет любому, у кого есть аналогичная проблема.

person localshred    schedule 10.04.2009

Просто выстрел в темноте: недавно у меня были проблемы с использованием ssh после установки Rogue Amoeba Audio Hijack Pro. Я мог использовать ssh только как суперпользователь (sudo). Обновление до 2.8.1 решило проблему ...

См. Также http://www.macobserver.com/article/2008/03/19.8.shtml по вопросу.

person stigi    schedule 28.11.2008