Как настроить имя хоста на Ubuntu Desktop для использования SSH

Вопрос или проблема

Я использую Ubuntu Desktop. Я хотел бы использовать имя хоста вместо IP-адреса, когда хочу подключиться к Ubuntu Desktop через SSH. Это облегчит подключение к этому устройству, так как IP может измениться после перезагрузки.

Итак, сейчас мне нужно выполнить:

ssh [email protected]

Однако я хотел бы иметь что-то вроде этого:

ssh [email protected]

Есть идеи, как я могу присвоить имя хоста своему Ubuntu Desktop?

Я буквально только что решил эту же задачу на своем сервере Ubuntu 16.x (32bit). Мой сервер подключается к управляемому третьей стороной WiFi через DHCP, и мне нужно было получить доступ к размещенному gitea и ssh, используя его имя хоста. Теперь я могу получить доступ к gitea, используя “http://ubuntuserver.local:3001“, и ssh, используя “ssh usernamer@ubuntuserver” с любого из моих сетевых устройств.

Очевидно, что машина должна транслировать свое имя хоста в сети.

Необходимо установить и запустить “avahi-daemon”. Кажется, как только он запускается, имя хоста транслируется в локальной сети.

Вот что я сделал (обратите внимание, что это Ubuntu 16, но процесс, похоже, такой же):

  1. Установите демона: $ sudo apt install avahi-daemon
  2. Проверьте статус демона: $ sudo systemctl status avahi-daemon | grep Status:
    Примечание: я заметил, что статус всегда указывает “avahi-deamon starting up“, но он транслируется.
  3. Проверьте это в терминале: $ ping hostname

Надеюсь, это поможет вам найти решение.

Ответ или решение

Чтобы настроить использование имени хоста на Ubuntu Desktop для подключения по SSH вместо IP-адреса, вам необходимо убедиться, что ваша система будет транслировать своё имя хоста в локальной сети. Это обеспечит возможность подключения к вашему устройству по более удобному имени, особенно когда IP-адрес может изменяться после перезагрузки. Для достижения этой цели обычно используется служба автовещания, такая как Avahi. Следовательно, в этой инструкции мы подробно разберем, как правильно настроить вашу систему.

Теория

Имя хоста — это название, которое вы присваиваете вашему устройству в сети для его идентификации. В контексте SSH, использование имени хоста вместо IP-адреса делает подключение более интуитивно понятным и стабильным, так как IP-адрес может измениться, например, после перезагрузки маршрутизатора или устройства. Чтобы имя хоста распознавалось в сети, устройство должно транслировать своё имя хоста.

На Ubuntu для такой трансляции часто используется сервис Avahi, который реализует протокол Zeroconf. Он организует мультимедийную и автоматизированную настройку сетевых устройств и служб. Avahi позволяет устройству заявить своё имя хоста и обеспечить его доступность для других устройств в той же сети.

Пример

Для начала, на вашей Ubuntu Desktop вам необходимо установить и запустить Avahi. Это делается с помощью следующих команд:

  1. Установите Avahi-daemon:

    sudo apt update
    sudo apt install avahi-daemon
  2. Проверьте статус Avahi-daemon:

    sudo systemctl status avahi-daemon

    Вы увидите строку, свидетельствующую о начале работы службы (например, "avahi-deamon starting up"), что указывает на активность трансляции имени хоста.

  3. Проверьте, работает ли трансляция:

    ping <ваше_имя_хоста>

    Замените <ваше_имя_хоста> на имя вашего устройства. Эта команда отправит несколько пакетов на ваше устройство с использованием его имени хоста, что подтвердит успешность трансляции.

Применение

  1. Настройка имени хоста вашего устройства:
    Вы можете установить или изменить имя хоста вашего устройства, используя команду hostnamectl. Например:

    sudo hostnamectl set-hostname вашновыйхозтенейм

    Убедитесь, что новое имя хоста логично и уникально в вашей сети.

  2. Редактирование файла /etc/hostname:
    Чтобы изменение сохранилось, убедитесь, что файл /etc/hostname содержит правильное имя хоста:

    sudo nano /etc/hostname

    Измените содержимое на:

    вашновыйхозтенейм

    Сохраните изменения и выйдите из редактора.

  3. Редактирование файла /etc/hosts:
    Для избежания возможных проблем с резолвингом имени хоста, добавьте запись в файл /etc/hosts. Откройте файл:

    sudo nano /etc/hosts

    Добавьте строчку:

    127.0.1.1   вашновыйхозтенейм

    Это обеспечит локальный резолвинг имени хоста даже при ошибках сети.

  4. Перезапустите службы:
    Для применения изменений перезапустите Avahi и зачитайте конфигурации:

    sudo systemctl restart avahi-daemon

После выполнения всех настроек другие устройства в вашей сети смогут подключаться к вашему Ubuntu Desktop, используя команду ssh вашпользователь@вашновыйхозтенейм.local. Можете убедиться в правильности настроек, снова проверив командой ping.

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

Оцените материал
Добавить комментарий

Капча загружается...