1

Я пытаюсь подключиться с моего сервера к моему macbook через ssh, но я не могу найти его имя в сети. Я включил удаленный вход в Системные настройки> Общий доступ, и мой Mac утверждает, что:

Computers on your local network can access your computer at: macbook.local

Тем не менее, когда я пытаюсь подключиться через ssh wdkrnls@macbook.local он говорит мне:

ssh: Could not resolve hostname macbook.local: Name or service not known

Но я могу ввести ssh, когда введу указанный IP-адрес (т.е. ssh wdkrnls@192.168.1.15). Проблема в том, что этот IP-адрес меняется, и я хочу добавить удаленный git-репозиторий поверх ssh, так что это не сработает. Что мне не хватает?

2 ответа2

3

Какая ОС у вас на сервере? Если это не Mac OS X, вам нужно установить Avahi и установить следующее в /etc/nsswitch.conf

hosts:    files dns mdns

ИЛИ ЖЕ

hosts:    files mdns_minimal [NOTFOUND=return] dns mdns 
1

На какой операционной системе работает ваш сервер? Он должен поддерживать Bonjour aka mDNS, технологию, которая поддерживает имя хоста .local. Вы можете узнать больше о mDNS здесь. Существует множество реализаций mDNS для UNIX, Linux и Windows. Я рекомендую как mDNSResponder от Apple, так и Avahi deamon с открытым исходным кодом для Unix-подобных систем.

Если у вас уже есть mDNS на вашем сервере, то я бы порекомендовал посмотреть настройки вашей сети. mDNS нельзя использовать в определенных системах VPN, включая L2TP/IPsec, а также в разных подсетях. На домашней странице mDNS есть указания по настройке для настройки глобальной mDNS, что требует использования сервера имен, но мне не удалось с такими усилиями.

Более простым и легким подходом может быть предоставление вашему MacBook статического IP-адреса. Большинство маршрутизаторов позволяют назначать статические IP-адреса, используя либо идентификаторы клиента DHCP, либо MAC-адрес интерфейса.

Недавно я сам решал несколько проблем с mDNS.

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