Когда я пытаюсь соединиться со своим устройством Ubuntu с ssh
терминальная команда, должен добавить я .local
снабдите суффиксом к имени хоста Ubuntu. Например, если я хочу к ssh к моему устройству с его именем хоста, моя команда ssh должна иметь .local
суффикс и команда имеют следующий формат:
ssh username@device_hostname.local
Я знаю что .local
суффикс был добавлен avahi (zeroconf) сервис Linux, но является там каким-либо быстрым (легким) способом обойти его? Я хочу смочь к "ssh" свое устройство только его именем хоста без суффикса .local в конце команды, как это:
ssh username@device_hostname
То, чего точно я хочу достигнуть, должно полностью удалить .local
суффикс от имени хоста. Я читал о выполнении моего частного сервера DNS, но я хотел бы знать, существует ли менее сложное решение.
Вашим клиентам понадобится хотя бы один способ преобразования имени хоста в IP-адрес. Механизм, который вы уже обнаружили, работает через автоматическую настройку и работает в доменном имени .local
.
Вы можете определить сопоставление имени хоста с IP-адресами на каждом клиенте, но это не рекомендуется.
У вас будет возможность пройти через какой-то механизм автоматического разрешения имен, все из которых требуют использования какого-то доменного имени в фоновом режиме.
Однако вы можете легко избавиться от необходимости каждый раз вводить имя домена, выполнив одно из следующих действий:
Если вы добавите следующее в /etc/ssh_config
или [ 114]:
Host *
CanonicalDomains local
CanonicalizeHostname yes
ssh автоматически добавит local к любому имени хоста. Поэтому, когда вы набираете ssh host
, на самом деле это будет ssh host.local
.
Хотя вышеперечисленное будет работать только для ssh, вы также можете настроить аналогичную вещь для всех сетевых подключений, настроив соответствующим образом преобразователь dns на вашем клиенте. Это «классический» способ иметь ярлыки имени хоста.
В зависимости от настроек, вы добавите local
в список поисковых доменов. Вот что я делаю. Для этого должно быть достаточно описания, , например, .
Это вообще не рекомендуется, потому что, хотя вначале это кажется простым, его скоро будет сложно поддерживать. Но это единственный известный мне способ, позволяющий полностью избавиться от доменных имен.
Отредактируйте файл /etc/hosts
и добавьте следующие строки:
192.168.1.3 host3
192.168.1.4 host4
В то время как первое слово в каждой строке - это IP-адрес соответствующего хоста. Вы должны сделать это на каждом клиенте. После этого вы можете использовать ssh host3
, и даже не в фоновом режиме будет использоваться доменное имя.
В / etc / hostname это имя, которое вы хотите обновить. Например, mydomiain.com, и я предполагаю, что у вас есть root-доступ. Команда hostname также может быть использована. Поэтому вам нужно обновить файл с помощью vi. Все, что находится в строке 1, должно быть обновлено с вашим доменным именем. Довольно просто.