Освоение SSH: демистификация файлов «known_hosts» и «authorized_keys»

Когда дело доходит до безопасного удаленного доступа и связи, широко используется протокол SSH (Secure Shell). Являясь неотъемлемой частью SSH, два важных файла играют решающую роль в процессе аутентификации: известные_хосты и авторизованные_ключи. В этой статье мы углубимся в эти файлы, поймем их различия и рассмотрим различные методы работы с ними. Итак, начнем!

Что такое «известные_хосты»:
Файл «известные_хосты» представляет собой текстовый файл, в котором хранятся открытые ключи удаленных хостов, к которым вы ранее подключались через SSH. Всякий раз, когда вы подключаетесь к удаленному хосту, SSH сверяет открытый ключ хоста с файломknown_hosts, чтобы проверить его подлинность. Если ключ не совпадает или отсутствует в файле, SSH выдаст вам предупреждение.

Понимание авторизованных_ключей:
С другой стороны, файл авторизованных_ключей расположен на удаленном сервере и хранит список открытых ключей, которым разрешено подключение к учетной записи пользователя. Когда вы пытаетесь установить SSH-соединение, сервер сверяет ваш открытый ключ с файломauthorized_keys. Если совпадение найдено, вам предоставляется доступ.

Методы работы с известными_хостами и авторизованными_ключами:

  1. Просмотр файлаknown_hosts:
    Чтобы просмотреть файлknown_hosts, вы можете использовать следующую команду:

    cat ~/.ssh/known_hosts
  2. Очистка записей «известные_хосты».
    Если вы столкнулись с предупреждениями или ошибками, связанными с «известные_хосты», вы можете удалить отдельные записи или весь файл. Вот пример очистки файлаknown_hosts:

    ssh-keygen -R hostname
  3. Добавление записей в известные_хосты:
    Чтобы добавить запись в файл известные_хосты, вы можете использовать команду SSH с флагом -o:

    ssh -o "StrictHostKeyChecking=no" hostname
  4. Создание файла авторизованных_ключей:
    Чтобы создать файл авторизованных_ключей на удаленном сервере, используйте следующую команду:

    touch ~/.ssh/authorized_keys
  5. Добавление ключей в авторизованные_ключи:
    Чтобы добавить свой открытый ключ в файл авторизованных_ключей, вы можете использовать команду ssh-copy-id:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostname
  6. Управление авторизованными_ключами с помощью прав доступа к файлам:
    Убедитесь, что файл авторизованных_ключей имеет правильные разрешения в целях безопасности. Используйте следующую команду, чтобы установить разрешения:

    chmod 600 ~/.ssh/authorized_keys

В этой статье мы рассмотрели различия между файлами «known_hosts» и «authorized_keys» в SSH. Мы обсудили методы просмотра, очистки и добавления записей в файлknown_hosts. Кроме того, мы рассмотрели, как создать файлauthorized_keys, добавить к нему ключи и управлять его разрешениями. Освоив эти концепции, вы получите прочную основу для безопасного и эффективного взаимодействия по SSH.