Я не хочу указывать IP-адрес, поскольку он может измениться в локальной сети DHCP. Я попытался подключиться к имени сервера linux, но ни Putty, ни Windows ping.exe не смогли его разрешить.
Вы можете настроить dhcp для отправки имени хоста с запросом dhcp. Очевидно, вам понадобятся ваш dhcpd и сервер имен для поддержки этого, но многие маршрутизаторы поддерживают эту функцию, поэтому стоит проверить, поддерживает ли ваш.
Я вижу решения в нескольких категориях:
К сожалению, вам не повезло. Для этого вам нужно использовать что-то вроде mDNS. Он реализован из коробки в OSX и называется Bonjour, но пока не достиг критической массы за пределами Apple. Если вы управляете сервером DHCP, вы можете настроить резервирование DHCP для определенных систем. В этом сценарии nic с конкретным MAC-адресом всегда будет получать один и тот же статически определенный адрес от DHCP-сервера.
Кое-что в вашем вопросе все еще неясно, но я постараюсь дать общий ответ.
Чтобы подключиться к машине через ее имя хоста, вам потребуется активная в сети служба разрешения имен, то есть DNS- или WINS-сервер. Увидев, что вы говорите, что ваши машины не могут пинговать друг друга по имени, похоже, что у вас нет DNS-сервера в сети (или что ни одна машина не настроена с первичным DNS-сервером). Возникает вопрос - в какой сетевой среде будет DHCP, но нет DNS?
Если в сети ЕСТЬ DNS-сервер, вам просто нужно настроить обе машины для связи с ним (свойства сетевого подключения в Windows, бог знает где.conf в Linux), и все готово.
Тогда предположим, что нет DNS-сервера.
Предполагая, что у вас есть контроль над DHCP-сервером в вашей сети, самым простым решением было бы настроить статическое сопоставление IP-адресов на DHCP-сервере. Сделайте так, чтобы он каждый раз предоставлял серверу linux один и тот же IP-адрес (привязать определенный IP-адрес к MAC-адресу сервера nic). Затем вы можете отредактировать файл hosts на рабочей станции Windows (находится в% systemroot% \ system32 \ drivers \ etc) и сопоставить конкретное имя с адресом и наслаждаться.
Если у вас нет контроля над DHCP ... Ну, лично я просто пойду и пойму людей, которые это делают (и скажу им, чтобы они поставили там DNS-сервер, ради бога!)
Я могу придумать и другие дикие вещи, которые могут обойти эту проблему (напишите сценарий, который проверяет всю подсеть, запускает arp -a в файл, а затем сканирует его, чтобы найти MAC-адрес сервера, тем самым разрешая его IP. .. шиш, это тошно). Если серьезно, я бы попытался запустить и запустить достойную службу разрешения имен.
Вы не сможете разрешить адрес, если он не находится на каком-то DNS-сервере. Вам нужно знать IP-адрес или вы можете использовать некоторые услуги, такие как Нет-IP чтобы обновить полное доменное имя до текущего IP-адреса сервера. Конечно, это будет работать только для сервера с публичным IP-адресом.
Для внутренних адресов вы можете написать сценарий на сервере, который будет отправлять вам IP-адрес, который есть в какой-то момент времени.
У меня также есть сервер Linux в сети DHCP. Самый простой способ использовать DHCP и при этом легко подключаться к серверу - это присвоить ему статический IP-адрес. Вы по-прежнему можете использовать DHCP для других клиентов, но у вашего сервера есть статический IP-адрес.
Вы не говорите, какой дистрибутив Linux вы используете, но вот соответствующая часть моего rc.conf из Arch Linux.
lo="lo 127.0.0.1"
eth0="eth0 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.0.255"
INTERFACES=(lo eth0)
gateway="default gw 192.168.1.1"
ROUTES=(gateway)
Как указывали другие, проблема заключается в разрешении имен, а не в SSH.
Но лучшее решение - настроить DNS, DHCP-сервер и DHCP-клиент таким образом, чтобы запись DNS создавалась автоматически для всех DHCP-клиентов. Это легко сделать с помощью DHCP-сервера Microsoft (я смогу предоставить инструкции, если это будет полезно), но также должно быть возможно и с другими серверами.
В основном вам нужно: