Разбиране и управление на файла 'known_hosts' в Linux

Разбиране и управление на файла 'known_hosts' в Linux

Linux операционните системи използват файл, наречен known_hosts, за да управляват ключовете за идентификация на сървъри при изграждане на SSH (Secure Shell) връзки. Този файл играе ключова роля в поддържането на сигурността при комуникацията между клиенти и сървъри.

В тази статия ще обясним как работи known_hosts файлът, как можем да го разберем и управляваме.

Какво е known_hosts файлът?

known_hosts е текстов файл, който съхранява ключове за идентификация на сървъри, които клиентите използват, за да проверят автентичността на сървъра, към който се опитват да се свържат. Този файл се намира в директорията на потребителя в ~/.ssh/ (например, /home/потребител/.ssh/known_hosts).

Структура на known_hosts файлът

known_hosts файлът съдържа редове, като всеки ред съдържа информация за един сървър. Структурата на реда обикновено е:

<сървър_публичен_ключ> <алгоритъм_на_ключа> <сървър_име_или_IP_адрес>

Примерен ред:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj6Oy3itYpiX3OpqrEkz3ejFzZmNIdOcw8LJOBF0XMT8do7bW4XsiLDtP5aXnvKJMEbVbS0wTKd3q/N9cO3djv8FapD7H/A1XcJc+Wg02oFIQav4d9Uj4m15Rgndq9QFbTRwDm2fMfr8l9v1eFYvWUxuA7GAG3GdMnruNTr/0kmTtVe2tU5B8+R2vUzA+0Mq5+hQ4zmcQI7I1bZaMq7Zj9vvuvkPVThgYpH6Lwgr16uZBDbdGOLRAsHOnW8NkA9Nh+3TfEesnJzHuSdRla4ogJpyjBU2Cjq+ptD3aNQqhw4M0XPdDsQGQDgqnwZiYFegGfIKKpkRQuZgQhtBb3yGJ8VJ8uFOwXG9sbsAz6qExXbKYQhIjXtbrLUGvIusyBDQ4xWL9dDqMTvBuV/LqyBLOUGdUe5m0rYtUCDwphK5II/xosLZKlEZtk2yRExk9M2XL+lwZyRAmjO2Is+ZOsS2R0AVTUDL9k/GnGkw7OPPe0rAWpDHrweTqXo3dc= example.com

Разбиране на known_hosts файлът

  1. Сървърен публичен ключ (<сървър_публичен_ключ>):
    • Този елемент представлява публичния ключ на сървъра, който се използва за криптиране на сесиите.
    • Разпознава се от алгоритъма на ключа и самия ключ.
  2. Алгоритъм на ключа (<алгоритъм_на_ключа>):
    • Използва се за идентификация на алгоритъма, използван при генерирането на сървърния ключ.
    • Например, ssh-rsa означава използването на RSA алгоритъм.
  3. Сървър име или IP адрес (<сървър_име_или_IP_адрес>):
    • Това е идентификаторът на сървъра, към който се отнася ключът.
    • Може да бъде домейн име или IP адрес.

Управление на known_hosts файлът

  1. Добавяне на нов сървър:
    • Когато се свързвате с нов сървър, публичният му ключ автоматично се добавя в known_hosts файлът.
    • Команда: ssh user@host
  2. Ръчно добавяне:
    • Можете да ръчно добавите сървърен ключ в known_hosts файлът с помощта на текстов редактор или чрез команда.
    • Команда: ssh-keyscan -H host >> ~/.ssh/known_hosts
  3. Изтриване на стар ключ:
    • Когато срещнете проблем с ключ, може да изтриете съответния ред от known_hosts.
    • Команда: ssh-keygen -R host
  4. Преглед на съдържание:
    • Можете да прегледате съдържанието на known_hosts файлът с команда.
    • Команда: cat ~/.ssh/known_hosts
  5. Използване на SSH конфигурация:
    • Можете да конфигурирате SSH, за да използва друг файл или да игнорира known_hosts с опцията -o StrictHostKeyChecking=no.

Заключение

known_hosts файлът е важен елемент за сигурността на SSH връзките в Linux. Разбирането и ефективното управление на този файл са от съществено значение за поддържането на безопасни връзки между клиенти и сървъри. Следвайки горепосочените стъпки, потребителите могат да осигурят надеждна и безопасна комуникация при използване на SSH протокола.

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: