Где хранится fingerprint для подключения по SSH?

«Где хранится fingerprint для подключения по SSH?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Fingerprint SSH хранится на клиентской машине в файле ~/.ssh/known_hosts. Это хэш (обычно SHA-256) публичного ключа сервера. При первом подключении клиент сохраняет отпечаток в этот файл для последующей проверки подлинности сервера и предотвращения атак "man-in-the-middle".

Пример записи в known_hosts:

server.example.com ssh-rsa AAAAB3NzaC1yc2EAAA...

Практические команды:

  • Просмотреть сохраненные fingerprint'ы:
    cat ~/.ssh/known_hosts
  • Проверить fingerprint сервера (на самом сервере):
    ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
  • Удалить устаревшую запись для сервера:
    ssh-keygen -R server.example.com

Важно для DevOps: В автоматизированных пайплайнах (CI/CD) часто требуется отключить проверку host key (StrictHostKeyChecking=no), но в production-средах это считается плохой практикой из-за рисков безопасности. Лучше предварительно добавить fingerprint сервера в known_hosts через скрипт.