Как удалить суффикс .local из имени хоста Ubuntu?

Когда я пытаюсь соединиться со своим устройством Ubuntu с ssh терминальная команда, должен добавить я .local снабдите суффиксом к имени хоста Ubuntu. Например, если я хочу к ssh к моему устройству с его именем хоста, моя команда ssh должна иметь .local суффикс и команда имеют следующий формат:

ssh username@device_hostname.local 

Я знаю что .local суффикс был добавлен avahi (zeroconf) сервис Linux, но является там каким-либо быстрым (легким) способом обойти его? Я хочу смочь к "ssh" свое устройство только его именем хоста без суффикса .local в конце команды, как это:

ssh username@device_hostname

То, чего точно я хочу достигнуть, должно полностью удалить .local суффикс от имени хоста. Я читал о выполнении моего частного сервера DNS, но я хотел бы знать, существует ли менее сложное решение.

3
задан 22 April 2018 в 01:40

2 ответа

Вашим клиентам понадобится хотя бы один способ преобразования имени хоста в IP-адрес. Механизм, который вы уже обнаружили, работает через автоматическую настройку и работает в доменном имени .local.

Вы можете определить сопоставление имени хоста с IP-адресами на каждом клиенте, но это не рекомендуется.

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

Однако вы можете легко избавиться от необходимости каждый раз вводить имя домена, выполнив одно из следующих действий:

канонизация имени хоста ssh

Если вы добавите следующее в /etc/ssh_config или [ 114]:

Host *
  CanonicalDomains local
  CanonicalizeHostname yes

ssh автоматически добавит local к любому имени хоста. Поэтому, когда вы набираете ssh host, на самом деле это будет ssh host.local.

search domains

Хотя вышеперечисленное будет работать только для ssh, вы также можете настроить аналогичную вещь для всех сетевых подключений, настроив соответствующим образом преобразователь dns на вашем клиенте. Это «классический» способ иметь ярлыки имени хоста.

В зависимости от настроек, вы добавите local в список поисковых доменов. Вот что я делаю. Для этого должно быть достаточно описания, , например, .

Жесткое кодирование в / etc / hosts

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

Отредактируйте файл /etc/hosts и добавьте следующие строки:

192.168.1.3 host3
192.168.1.4 host4

В то время как первое слово в каждой строке - это IP-адрес соответствующего хоста. Вы должны сделать это на каждом клиенте. После этого вы можете использовать ssh host3, и даже не в фоновом режиме будет использоваться доменное имя.

1
ответ дан 1 December 2019 в 20:30

В / etc / hostname это имя, которое вы хотите обновить. Например, mydomiain.com, и я предполагаю, что у вас есть root-доступ. Команда hostname также может быть использована. Поэтому вам нужно обновить файл с помощью vi. Все, что находится в строке 1, должно быть обновлено с вашим доменным именем. Довольно просто.

-1
ответ дан 1 December 2019 в 20:30

Другие вопросы по тегам:

Похожие вопросы: